慎用kill -9,kill -15的作用

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt334

Perl语言专家Randal Schwartz在一篇短文里这样写:

no no no.不要使用kill -9.

它没有给进程留下善后的机会:

1) 关闭socket链接

2) 清理临时文件

3) 将自己将要被销毁的消息通知给子进程

4) 重置自己的终止状态

等等。

通常,应该发送15,等一两秒钟,如果没效果,发送2,如果还不行,发送1。如果还不行,那你应该把那个程序删掉,因为那个程序写的太烂了!

不要使用kill -9。不要用收割机来修剪花盆里的花。

总之,在使用kill -9前,你应该先使用kill -15,给目标进程一个清理善后工作的机会。(进程也许无法捕捉或直接忽略SIGKILL信号,但它们可以,通常也是能够捕捉SIGTERM信号的。)如果你不留机会让进程完成清理工作,它们会留下一些不完整的文件或状态,当系统重启时,程序将无法理解这些状态。

strace/truss,ltrace和gdb都是查看一个卡住的进程因何卡住的好工具。(Solaris里的truss -u非常好用;)Solaris里还有一些非常有用的/proc相关的工具,有一些已经被移植到了Linux上。

时间: 2024-11-04 03:31:11

慎用kill -9,kill -15的作用的相关文章

【转载】Linux kill, killall, kill -9

1) 查看进程的方法:  ps -ef  或者 ps aux root     15087  0.0  0.0      0     0 ?        S    23:31   0:00 [kworker/1:1]root     15219  0.0  0.0      0     0 ?        S    23:36   0:00 [kworker/1:0]root     15460  0.0  0.0      0     0 ?        S    23:41   0:0

kill与kill -9的区别

有时候我们使用kill无法杀掉一个进程,但是用kill -9却可以,why? 首先看一下kill的功能,man手册对kill描述如下: KILL(1) Linux User's Manual KILL(1) NAME kill - send a signal to a process SYNOPSIS kill [ -signal | -s signal ] pid ... kill [ -L | -V, --version ] kill -l [ signal ] DESCRIPTION Th

What is the difference between Kill and Kill -9 command in Unix?

w difference kill -9 pid and kill pid command - Ask Ubuntu  https://askubuntu.com/questions/791841/difference-kill-9-pid-and-kill-pid-command kill pid (which sends signal 15 (SIGTERM)) tells pid to terminate, but said program can execute some code fi

【转】linux下杀死进程(kill)的N种方法

转载一篇,最原始的出处已不可考,望见谅! 常规篇: 首先,用ps查看进程,方法如下: $ ps -ef --smx       1822     1  0 11:38 ?        00:00:49 gnome-terminalsmx       1823  1822  0 11:38 ?        00:00:00 gnome-pty-helpersmx       1824  1822  0 11:38 pts/0    00:00:02 bashsmx       1827    

Process Kill Technology && Process Protection Against In Linux

目录 0. 引言 1. Kill Process By Kill Command 2. Kill Process By Resource Limits 3. Kill Process By Code Injection Into Running Process Via GDB 4. Kill Process By Using Cross Process Virtual Memory Modify 5. Kill Process By Using ptrace To Inject .so 6. P

linux kill杀死进程

背景:这个命令总是记不住,在此稍作记录,方便查看! 1 杀死进程 1.1 查看进程 此时如果我想杀了火狐的进程就在终端输入: $ kill -s 9 1827 其中-s 9 制定了传递给进程的信号是9,即强制.尽快终止进程.各个终止信号及其作用见附录. 简单吧,但有个问题,进程少了则无所谓,进程多了,就会觉得痛苦了,无论是ps -ef 还是ps -aux,每次都要在一大串进程信息里面查找到要杀的进程,看的眼都花了. 进阶篇: 改进1: 把ps的查询结果通过管道给grep查找包含特定字符串的进程.

Linux之Kill进程的N种方法

常规篇: 首先,用ps查看进程,方法如下: $ ps -ef -- smx       1822     1  0 11:38 ?        00:00:49 gnome-terminal smx       1823  1822  0 11:38 ?        00:00:00 gnome-pty-helper smx       1824  1822  0 11:38 pts/0    00:00:02 bash smx       1827     1  4 11:38 ?    

linux下杀死进程(kill)的N种方法

常规篇: 首先,用ps查看进程,方法如下: $ ps -ef …… smx       1822     1  0 11:38 ?        00:00:49 gnome-terminal smx       1823  1822  0 11:38 ?        00:00:00 gnome-pty-helper smx       1824  1822  0 11:38 pts/0    00:00:02 bash smx       1827     1  4 11:38 ?    

Linux中Kill进程的N种方法

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt111 常规篇: 首先,用ps查看进程,方法如下: $ ps -ef -- smx       1822     1  0 11:38 ?        00:00:49 gnome-terminal smx       1823  1822  0 11:38 ?        00:00:00 gnome-pty-helper smx       1824  1822  0