用途
发送一个信号到正在运行的进程。
语法
发送信号到进程
kill [
-s {
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 信号上的操作由正运行的特定的应用程序定义。注:要发送信号 15,或用这种形式的 kill 命令发送 SIGTERM 信号,必须明确地指定 -15 或 TERM。
转载于:https://blog.51cto.com/xmulqy/120175