[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 3,i - m

kill 命令

用途

发送一个信号到正在运行的进程。

语法

发送信号到进程

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 的有效性。

标志

-s{SignalName | SignalNumber} 指定信号为一个信号数或一个信号名,如 SIGKILL -9 或 SIGTERM -15。
-SignalName 指定一个信号名,如 SIGHUP。这是个废弃的语法。
-SignalNumber 指定一个信号数。这是个废弃的语法。

注: 在语法中要用缺省的信号指定负 PID ,必须指定 - - 作为一个信号。否则,第一个操作数被解释为一个 SignalNumber
ProcessID 指定一个十进制整数代表一个要被发送信号的进程或进程组。如果 PID 是一个正值,kill 命令发送进程 ID 与 PID 相等的进程。如果 PID 值是 0,kill 命令发送信号到所有进程组的 ID 等于发送者进程组的 ID 的进程。不发送信号到 PID 为 0 或 1 的进程。如果 PID 是 -1,kill 命令发送信号到所有由发送者的有效用户所有的进程。
-l 列出由实现支持的信号名字。
-lExitStatus 列出去掉了公共 SIG 前缀的信号名。如果 ExitStatus 是一个十进制整数值,对应那个信号的信号名被显示。如果 ExitStatus 是一个对应于由这个信号终止的进程的退出状态值,则显示对应于这个终止这个进程的信号的名字。

退出状态

这个命令返回以下退出值:

0 对每个 ProcessID 操作数至少发现一个匹配的进程,并且指定的信号至少为一个匹配的进程成功处理。
>0 有错误发生。

示例

  1. 要停止一个给定的进程,输入:

    kill 1095

    这个通过发送缺省的 SIGTERM 信号到进程 1095 来停止它。注:如果进程 1095 已经做了特殊安排来忽略或覆盖 SIGTERM 信号,这个进程实际可能不停止。

  2. 要停止几个忽略缺省信号的进程,输入:

    kill -kill 2098 1569

    这个发送信号 9,即 SIGKILL 信号,来处理 20981569 SIGKILL 信号是个通常不能被忽略或覆盖的特殊信号。

  3. 要停止所有进程并注销自己,输入:

    kill -kill 0

    这个发送信号 9 ,就是SIGKILL 信号,到所有组 ID 等于发送者组 ID 的进程。因为 shell 不能忽略 SIGKILL 信号,它也停止登录 shell 并注销用户。

  4. 要停止您拥有的所有进程,输入:

    kill -9 -1

    这发送信号 9,就是 SIGKILL 信号,到所有由有效用户拥有的进程,甚至那些在其他工作站上启动的和属于其他进程组的进程。如果一个您请求的列表正被打印,它也被停止。

  5. 要发送一个不同的信号到一个进程,输入:

    kill  -USR1  1103

    kill 命令的名字是一个误导,因为许多信号,包括 SIGUSR1,并不停止进程。发生在 SIGUSR1 信号上的操作由正运行的的特定的应用程序定义。

    注: 要用 kill 命令的形式发送信号 15,即 SIGTERM 信号,必须显式指定 -15 或 SIGTERM

文件

/usr/include/sys/signal.h 指定信号的名字。

相关信息

csh 命令、ksh 命令、ps 命令、sh 命令。

kill 子例程、 sigaction 子例程。

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]