kill -9 是终止进程的最后手段。什么是第一手段?
kill -9 is the last resort when killing a process. What is the first resort?
前言
我问这个问题是因为它属于提问的 Coding Techniques 方面。
背景
有一段时间,每当我不知道如何终止进程时,我都会默认使用 kill
-9
。但是,有人告诉我这是不得已的选择,因为根据信号规范不能忽略 -9:
‘KILL’
- Kill (cannot be caught or ignored).
尝试过的方法
以前我也尝试过以下方法
问题
从编码技术的角度来看,杀死进程的首选方法是什么?
kill -TERM
告诉进程自行终止。大多数应用程序都有一个处理程序来检测此问题并会正确清理自己,因此下一个 运行 不会处理前一个 运行 的工件。这也映射到 UNIX/Linux 系统上的 15。
您还可以使用 SIGQUIT,它可以通过按 Ctrl + \
发送。这还会生成一个核心转储,可以对其进行分析。
SIGQUIT 映射到信号编号 3。因此它与 kill -3 pid
相同。
前言
我问这个问题是因为它属于提问的 Coding Techniques 方面。
背景
有一段时间,每当我不知道如何终止进程时,我都会默认使用 kill
-9
。但是,有人告诉我这是不得已的选择,因为根据信号规范不能忽略 -9:
‘KILL’
- Kill (cannot be caught or ignored).
尝试过的方法
以前我也尝试过以下方法
问题
从编码技术的角度来看,杀死进程的首选方法是什么?
kill -TERM
告诉进程自行终止。大多数应用程序都有一个处理程序来检测此问题并会正确清理自己,因此下一个 运行 不会处理前一个 运行 的工件。这也映射到 UNIX/Linux 系统上的 15。
您还可以使用 SIGQUIT,它可以通过按 Ctrl + \
发送。这还会生成一个核心转储,可以对其进行分析。
SIGQUIT 映射到信号编号 3。因此它与 kill -3 pid
相同。