当前位置: 技术问答>linux和unix
关于kill的问题
来源: 互联网 发布时间:2016-03-05
本文导语: #include #include void quitt(int no) { puts("byen"); } main() { signal(9,quitt); signal(15,quitt); for(;;); } 不知为什么用kill 9 pid或kill 15 pid都杀不掉,只能出现bye,进程依然在运行,从网上查到kill -9可以杀掉,对kill的用法不是...
#include
#include
void quitt(int no)
{
puts("byen");
}
main()
{
signal(9,quitt);
signal(15,quitt);
for(;;);
}
不知为什么用kill 9 pid或kill 15 pid都杀不掉,只能出现bye,进程依然在运行,从网上查到kill -9可以杀掉,对kill的用法不是很清楚,并且man kill也没看出所以然,希望高手指点,谢谢!
#include
void quitt(int no)
{
puts("byen");
}
main()
{
signal(9,quitt);
signal(15,quitt);
for(;;);
}
不知为什么用kill 9 pid或kill 15 pid都杀不掉,只能出现bye,进程依然在运行,从网上查到kill -9可以杀掉,对kill的用法不是很清楚,并且man kill也没看出所以然,希望高手指点,谢谢!
|
if (signal(9,quitt) == SIG_ERR )
{
fprintf(stderr, "Failed to install signal handler for SIGKILL");
}
In fact , u cannot install signal handler for the 2 signal: SIGKILL and SIGSTOP
楼主的程序可以用 kill -9 pid 杀掉。。。但不可以用 kill -15 pid 杀掉。因为SIGTERM(15)被设置了新的处理函数。
{
fprintf(stderr, "Failed to install signal handler for SIGKILL");
}
In fact , u cannot install signal handler for the 2 signal: SIGKILL and SIGSTOP
楼主的程序可以用 kill -9 pid 杀掉。。。但不可以用 kill -15 pid 杀掉。因为SIGTERM(15)被设置了新的处理函数。