当前位置: 技术问答>linux和unix
程序推出时,如何杀掉其子进程?
来源: 互联网 发布时间:2014-12-08
本文导语: 我的一个程序运行后,由于调用某个函数,产生了 子进程,现在我的程序推出时,如何杀掉子进程? 谢谢! 在线等待! | 1、kill(child_pid,SIGKILL);//杀掉指定的子进程 2、kill(0,SIGKILL);//杀掉所有的子进程,...
我的一个程序运行后,由于调用某个函数,产生了
子进程,现在我的程序推出时,如何杀掉子进程?
谢谢!
在线等待!
子进程,现在我的程序推出时,如何杀掉子进程?
谢谢!
在线等待!
|
1、kill(child_pid,SIGKILL);//杀掉指定的子进程
2、kill(0,SIGKILL);//杀掉所有的子进程,包括自己
2、kill(0,SIGKILL);//杀掉所有的子进程,包括自己
|
一般情况下,直接杀掉子进程是不太好的.
因为你也不知道子进程已执行到那个地步了.如果你突然让她死掉不太好的.
你最好向他发SIGKILL信号,并且他有这个信号的处理.让她知道你要退出了,他便做相应的处理然后退出.
当然也是用kill发信号.
主进程等待他退出后exit掉自己.
如果,你的子进程里没有对SIGKILL信号相应的处理,那么系统会将他强制退出的.这样你根本不知道你的子进程已经做了什么了.
木易老大哥什么时候来的?
因为你也不知道子进程已执行到那个地步了.如果你突然让她死掉不太好的.
你最好向他发SIGKILL信号,并且他有这个信号的处理.让她知道你要退出了,他便做相应的处理然后退出.
当然也是用kill发信号.
主进程等待他退出后exit掉自己.
如果,你的子进程里没有对SIGKILL信号相应的处理,那么系统会将他强制退出的.这样你根本不知道你的子进程已经做了什么了.
木易老大哥什么时候来的?
|
fork的时候记录子进程pid,然后发信号不就行了