分享

UOS桌面版系统监视器右键结束进程与kill -9有何区别

朵儿爸 2021-10-5 13:18:27 发表于 已解决 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 1564
某个进程突然卡死,结束进程的解决方案可以是ctrl+alt+esc调出系统监视器后右键结束对应进程,但Linux系统管理员更喜欢使用kill -9 PID命令杀死进程,这两者是否有区别,我们通过日志进行分析。

Image


kill -9命令行方式:

Image


通过分析syslog日志对比两者之间的差异:

  1. <b><span style="font-family: "Microsoft YaHei"; font-size: medium; white-space: normal;">系统监视器方式</span><br></b>
复制代码
  1. 2021-10-05 12:44:58 langchao-PC startdde[3833]: startmanager.go:732: [/bin/sh -c export GIO_LAUNCHED_DESKTOP_FILE_PID=$$;exec deepin-home-appstore-client]: signal: terminated
  2. 2021-10-05 12:44:58 langchao-PC startdde[3833]: startmanager.go:624: send closeapp message, app info /usr/share/applications/deepin-app-store.desktop/应用商店/deepin-app-store
  3. <br>
复制代码
  1. <b>kill -9方式
  2. </b>2021-10-05 12:47:41 langchao-PC startdde[3833]: startmanager.go:732: [/bin/sh -c export GIO_LAUNCHED_DESKTOP_FILE_PID=$$;exec deepin-home-appstore-client]: signal: killed
  3. 2021-10-05 12:47:41 langchao-PC startdde[3833]: startmanager.go:624: send closeapp message, app info /usr/share/applications/deepin-app-store.desktop/应用商店/deepin-app-store
复制代码

前者发送的signal: terminated,后者是signal: killed


前者系统会发送一个SIGTERM的信号给对应的程序。当程序接收到该signal后,将会发生以下的事情

1、程序立刻停止

2、当程序释放相应资源后再停止

3、程序可能仍然继续运行

      大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后在停止。但是也有程序可以在接受到信号量后,做一些其他的事情,并且这些事情是可以配置的。如果程序正在等待IO,可能就不会立马做出相应。也就是说,SIGTERM多半是会被阻塞的、忽略,即系统监视器结束进程的方式比较“温柔”


后者:多半admin会用这个命令,用来强制尽快终止一个进程。(相当于系统监视器的“强制结束进程”)


附Linux signals:


Image

Image




版权说明:论坛帖子主题均由合作第三方提供并上传,若内容存在侵权,请进行举报

已有(0)人评论

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系在线客服