发送一个信号到正在运行的进程。
kill [ -s { SignalName | SignalNumber } ] ProcessID ...
kill [ - SignalName | - SignalNumber ] ProcessID ...
kill -l [ ExitStatus ]
kill 命令发送一个信号(缺省,SIGTERM 信号)到一个正运行的程序。缺省操作一般是停止进程。如果想停止一个进程,在 ProcessID 变量中指定进程标识符(PID)。这个 shell 报告每个在后台运行的进程的 PID(除非在一个管道上启动多于一个的进程,这个种情况下,shell 报告最后一个进程号)。还可用 ps 命令来发现命令的进程标识号。
root 用户可用 kill 命令来停止任何进程。如果不是 root 用户,必须已经启动了要停止的进程。
SignalName 以大小写无关的方式被辨认,无 SIG 前缀。
如果指定的 SignalNumber 是 0,kill 命令检查指定 PID 的有效性。
这个命令返回以下退出值:
0 | 对每个 ProcessID 操作数至少发现一个匹配的进程,并且指定的信号至少为一个匹配的进程成功处理。 |
>0 | 有错误发生。 |
kill 1095
这个通过发送缺省的 SIGTERM 信号到进程 1095 来停止它。注:如果进程 1095 已经做了特殊安排来忽略或覆盖 SIGTERM 信号,这个进程实际可能不停止。
kill -kill 2098 1569
这个发送信号 9,即 SIGKILL 信号,来处理 2098 和 1569。 SIGKILL 信号是个通常不能被忽略或覆盖的特殊信号。
kill -kill 0
这个发送信号 9 ,就是SIGKILL 信号,到所有组 ID 等于发送者组 ID 的进程。因为 shell 不能忽略 SIGKILL 信号,它也停止登录 shell 并注销用户。
kill -9 -1
这发送信号 9,就是 SIGKILL 信号,到所有由有效用户拥有的进程,甚至那些在其他工作站上启动的和属于其他进程组的进程。如果一个您请求的列表正被打印,它也被停止。
kill -USR1 1103
kill 命令的名字是一个误导,因为许多信号,包括 SIGUSR1,并不停止进程。发生在 SIGUSR1 信号上的操作由正运行的的特定的应用程序定义。
注: 要用 kill 命令的形式发送信号 15,即 SIGTERM 信号,必须显式指定 -15 或 SIGTERM。
/usr/include/sys/signal.h | 指定信号的名字。 |