Linux kill了我的程序,咋回事呢
三妹终于在睡前跑通了程序,美美去睡觉,想着第二天就可以看到结果,我还真是个节约时间小能手,结果第二天一看服务器,啥结果也没有,log也没写出来,程序就莫名其妙结束了,连个报错都不给我。
所以我查了网上的几个方法,如何知道Linux kill了哪些程序。
以下为三妹亲测的方法和结果:
1、
egrep -i 'killed process' /var/log/messages 或 egrep -i -r 'killed process' /var/log
提示 Permission denied。
好吧,公司的服务器,普通开发人员的权限很低呀。
2、
journalctl -xb | egrep -i 'killed process'
出来的结果反正不是我想要的:
3、成功方法
dmesg | egrep -i -B100 'killed process'
结果:
红框就是PID,我觉得这个方法的缺点是打印出来所有结果可能不知道哪个是我的,只能用在发现程序被kill,重新执行一遍时记录下PID,再等到它被 kill 之后看看被 kill 的程序里有没有我的PID。
anyway,证实了 Linux 是罪魁祸首就好,接下来就是想办法不被 kill了呗。