谁能知道在UNIX中执行这两个命令的内部/区别吗?有人告诉我soft kill将等待所有线程终止此进程启动的进程。我的进程是一个tomcat服务器。
杀死-9 pid杀死pid
调用kill
命令将signal
发送到进程或进程组。
kill -9 PID
时。发送到进程/进程组的信号是无阻塞的exit
。kill
时。 kill PID
,默认信号传递到kill
。 终止的默认信号为TERM
,在这种情况下,命令解释为kill -15 PID
。
关于kill
的更多详细信息肯定可以在Linux man
pages中获得。
man
中提供了另一个很好的描述;
命令kill将指定的信号发送到指定的进程或过程组。如果未指定信号,则发送TERM信号。TERM信号将杀死不捕获该信号的进程。对于其他过程,可能需要使用KILL(9)信号,因为无法捕获此信号。
这意味着,尽管通常document可以为所有未捕获kill PID
信号的过程做好工作。当容忍TERM
信号时,必须使用-9
。