![怎样杀——轻柔?](https://linux22.com/image/40845/%E6%80%8E%E6%A0%B7%E6%9D%80%E2%80%94%E2%80%94%E8%BD%BB%E6%9F%94%EF%BC%9F%20.png)
如果我想尽可能小心和礼貌地终止进程,
我应该在终止命令中使用哪些信号,按什么顺序?
如果程序愿意的话,我想给程序任何形式的清理时间,所以SIGTERM
我想,仅仅发送一个命令就太苛刻了?
最后我会使用SIGKILL
(" -9
"),这很清楚。
但该从哪开始呢?SIGHUP
?哪些信号只是浪费时间?
相关信号可供参考,来自
man 7 signal
Signal Value Action Comment
──────────────────────────────────────────────────────────────────────
SIGHUP 1 Term Hangup detected on controlling terminal
or death of controlling process
SIGINT 2 Term Interrupt from keyboard
SIGQUIT 3 Core Quit from keyboard
SIGKILL 9 Term Kill signal
SIGPIPE 13 Term Broken pipe: write to pipe with no
readers
SIGTERM 15 Term Termination signal
答案1
SIGTERM
我认为这是要走的路。它在大多数情况下都有效。对于那些不起作用的情况,您SIGKILL
无论如何都必须这样做。
SIGTERM
为进程提供足够的机会来释放其所需的所有资源并彻底关闭。