在系统监视器中,杀死进程和结束进程有什么区别?


Answers:


9

根据系统监视器手册,通常应使用“结束进程”,并且仅在失败时使用“杀死进程”:

通常,只有在无法按照结束进程中所述正常结束进程时,才终止进程。

从技术上讲,这使我认为End Process发送了一个SIGQUIT,它允许进程捕获并在需要时执行清理,但是如果失败,则Kill Process应该发送一个SIGKILL,该SIGKILL应该猛烈地终止该进程,而没有恢复的机会。谨慎使用!


6
SIGTERM是关闭程序的“礼貌”方式,这是“结束进程”发送的内容。gnu.org/software/libc/manual/html_node/Termination-Signals.html
Rick

8

我也很好奇,所以我只是浏览了源代码并在application.cpp中找到了以下内容。这段代码还有更多内容,但是我认为这些与选项相关,至少对于系统监视器3.8.2.1到3.19.3:

  • 停止进程= SIGSTOP暂停信号,让您稍后再继续使用SIGCONT,不会终止进程
  • 结束进程= SIGTERM (正确的终止信号,应用程序可以截获此信号并启动关闭任务,例如临时文件清除)
  • 终止进程= SIGKILL终止信号,极端,仅在SIGTERM不起作用,不会启动关闭任务时使用)

请参阅Quora上有关SIGINT,SIGTERM,SIGKILL和SIGSTOP信号的问题,以很好地解释所有kill / quit / shutdown信号及其差异。

源代码突出显示

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.