UNIX 系统进程处理与信号控制全解析
1. 进程终止信号的使用
在 UNIX 系统中,当需要终止一个进程时,我们有多种信号可以使用。比如,当 alice 脚本运行时,若要终止它,可使用不同信号。通常, QUIT 信号可以尝试终止进程,但如果 QUIT 不起作用,“最后手段”是使用 KILL 信号。示例如下:
$ kill -KILL %1
执行上述命令后,会输出类似如下信息:
[1]+ Killed alice
需要注意的是,进程无法“捕获” KILL 信号,操作系统会立即且无条件地终止该进程。若进程未被终止,可能是进程处于某些特殊状态,或者是 UNIX 版本存在漏洞。
另外,在编写脚本终止所有后台作业时,可依赖 jobs -p 命令,示例代码如下:
kill "$@" $(jobs -p)
不过,不建议直接使用 KILL 信号,应先尝试 TERM (默认信号)和 QUIT 信号。因为 TERM 和 QUIT 信号设计的目的是让进程在退出前
超级会员免费看
订阅专栏 解锁全文
1942

被折叠的 条评论
为什么被折叠?



