首先,您需要了解在类Unix系统中什么是Signals(只需几分钟)。
信号是发送到(正在运行)程序的软件中断,以指示发生了重要事件。
事件可能会有所不同,从用户请求到非法的内存访问错误。某些信号(例如中断信号)表明用户已要求程序执行常规控制流程之外的操作。
我们可以使用几种信号类型-使用“ $ kill -l ”命令来获取所有可用/可能信号的完整列表:
在上面的输出中,每个信号都有一个与其关联的“ 信号编号 ”(例如1、2、3)和一个“ 信号名称 ”(例如SIGUP,SIGINT,SIGQUIT),这是显而易见的。要详细了解每个Signal的功能,请访问此链接。
最后,出现问题“为什么在kill -9命令中使用数字9 ”:
有几种将信号传递到程序或脚本的方法。发送信号的常用方法之一是使用kill命令-基本语法为:
$ kill -signal pid
其中signal是信号的编号或名称,后跟信号将发送到的进程ID(pid)。
例如,-SIGKILL(或-9),信号立即终止进程。
$ kill -SIGKILL 1001
和
$ kill -9 1001
这两个命令是同一件事,也就是说,上面我们使用了“信号名称”,后来我们使用了“信号编号”。
结论:对于kill命令使用“信号名称”还是“信号编号”,有一个开放的选择。