怎样杀——轻柔?

怎样杀——轻柔?

如果我想尽可能小心和礼貌地终止进程,
我应该在终止命令中使用哪些信号,按什么顺序?

如果程序愿意的话,我想给程序任何形式的清理时间,所以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为进程提供足够的机会来释放其所需的所有资源并彻底关闭。

相关内容