不要使用kill -9

kill -9
没有给进程留下善后的机会:
1)关闭socket链接;
2)清理临时文件;
3)将自己快要给销毁的消息通知给子进程;
4)重置自己的终止状态;
通常,应该发送15,等一两秒钟,如果没有效果,发送2,如果还不行,发送1.
总之,在使用kill -9前,你应该先使用kill -15,给目标进程一个清理善后工作的机会。(进程也许无法捕捉或直接忽略SIGKILL信号,但他们可以,通常也是能够捕捉SIGTERM信号的。)如果你不留机会让进程完成清理工作,他们会留下一些不完整的文件或状态,当系统重启时,程序将无法理解这些状态。

[color=red]kill命令[/color]
-l (L的小写):列出目前kill能够使用的信号有哪些,信号代表给予后面接的那个工作什么样的指示,用man 7 signal可知:
-1:重新读取一次参数的配置文件(类似reload)
-2:代表与由键盘输入【ctrl】-c同样的操作;
-9:立刻强制删除一个工作;
-15:以正常的程序方式终止一项工作;

strace/truss,ltrace和gdb都是查看一个卡住的进程因何卡住的好工具。(Solaris里的truss -u非常好用;)Solaris里还有一些非常有用的/proc相关工具,有一些已经被移植到Linux上。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值