kill 默认信号term与-9有什么区别,捕获是什么意思?trem不能杀死什么样的进程?

2025-03-10 11:40:52
推荐回答(3个)
回答1:

term信号终止信号,但是程序需捕捉到信号才可以,然后退出进程。人性化一点,就是自愿接受信号。至于kill -9,你不想收,我就强制搞定你。

回答2:

kill命令格式:
kill -Signal pid
pid是进程号,可以用 ps 命令查出
signal是发送给进程的信号,TERM(或数字9)表示“无条件终止”

下面是一个例子
$ whoami
root
$ ps auxw | grep vi #查询有没有运行vi程序
fenggz 13118 0.0 0.0 4140 1044 pts/1 S+ 05:33 0:00 vi
root 13120 0.0 0.0 4836 640 pts/0 S+ 05:33 0:00 grep vi
#答案:有运行,进程号13118

$ kill -9 13118 #把vi杀掉(无条件终止)

$ ps auxw | grep vi
root 13122 0.0 0.0 4404 640 pts/0 S+ 05:33 0:00 grep vi
#没有vi了...
$

回答3:

多数人可能会回答 kill -9 pid,这是一种在多数情况下正确的做法。不过本文打算阐述使用kill -9带来的一些问题,并给出另一种标准的kill方式。标准中断信号在Linux信号机制中,存在多种进程中断信号(Linux信号列表 )。