![查找正在关闭或终止 Linux 中的程序或服务的进程](https://linux22.com/image/1166235/%E6%9F%A5%E6%89%BE%E6%AD%A3%E5%9C%A8%E5%85%B3%E9%97%AD%E6%88%96%E7%BB%88%E6%AD%A2%20Linux%20%E4%B8%AD%E7%9A%84%E7%A8%8B%E5%BA%8F%E6%88%96%E6%9C%8D%E5%8A%A1%E7%9A%84%E8%BF%9B%E7%A8%8B.png)
在我的情况中,Postfix 神秘地自行关闭:postfix/postfix-script 停止 Postfix 邮件系统
在全新的 Ubuntu 18.04 上,当我运行
service postfix start
它启动了,但几分钟后就关闭了。
May 22 09:10:15 coenraad-Latitude-E5550 postfix/postfix-script[12849]: starting the Postfix mail system
May 22 09:10:15 coenraad-Latitude-E5550 postfix/master[12851]: daemon started -- version 3.3.0, configuration /etc/postfix
May 22 09:11:41 coenraad-Latitude-E5550 postfix/postfix-script[12960]: stopping the Postfix mail system
May 22 09:11:41 coenraad-Latitude-E5550 postfix/master[12851]: terminating on signal 15
May 22 09:11:53 coenraad-Latitude-E5550 postfix/postfix-script[13167]: starting the Postfix mail system
May 22 09:11:53 coenraad-Latitude-E5550 postfix/master[13169]: daemon started -- version 3.3.0, configuration /etc/postfix
May 22 09:14:12 coenraad-Latitude-E5550 postfix/postfix-script[14044]: stopping the Postfix mail system
May 22 09:14:12 coenraad-Latitude-E5550 postfix/master[13169]: terminating on signal 15
我已通过以下方式启用该服务:
sudo update-rc.d postfix enable
有大量可用内存,并且任何日志中似乎都没有相关的内容。
答案1
起初我以为我设法安装了 postfix,而无需配置它。问题似乎可以通过以下方法解决:
dpkg-reconfigure postfix
我使用以下命令解决了这个问题:
lastcomm --debug
每次关机后,我发现:
CURRENT REC: systemd.postins |v3| 0.00| 0.00| 21.00| 0| 0| 4628.00| 0.00| 13513| 13305| | 0|pts/11 |Wed May 22 09:13:02 2019
systemd.postins root pts/11 0.00 secs Wed May 22 09:13
---------------------------------------------------------------------------
CURRENT REC: systemctl |v3| 1.00| 0.00| 21.00| 0| 0| 73472.00| 0.00| 13514| 13513|S | 0|pts/11 |Wed May 22 09:13:02 2019
systemctl S root pts/11 0.01 secs Wed May 22 09:13
---------------------------------------------------------------------------
CURRENT REC: (sd-executor) |v3| 0.00| 0.00| 1.00| 0| 0|226496.00| 0.00| 13516| 1|SF | 0|__ |Wed May 22 09:13:02 2019
(sd-executor) SF root __ 0.00 secs Wed May 22 09:13
---------------------------------------------------------------------------
CURRENT REC: systemd-sysv-ge |v3| 0.00| 0.00| 1.00| 0| 0| 61832.00| 0.00| 13532| 13516|S | 0|__ |Wed May 22 09:13:02 2019
systemd-sysv-ge S root __ 0.00 secs Wed May 22 09:13
---------------------------------------------------------------------------
CURRENT REC: postfix-instanc |v3| 0.00| 0.00| 1.00| 0| 0| 4628.00| 0.00| 13519| 13516|S | 0|__ |Wed May 22 09:13:02 2019
postfix-instanc S root __ 0.00 secs Wed May 22 09:13
---------------------------------------------------------------------------
CURRENT REC: postconf |v3| 0.00| 0.00| 0.00| 0| 0| 76928.00| 0.00| 13535| 13519| | 0|__ |Wed May 22 09:13:02 2019
postconf root __ 0.00 secs Wed May 22 09:13
---------------------------------------------------------------------------
CURRENT REC: systemd-rc-loca |v3| 0.00| 0.00| 1.00| 0| 0| 61816.00| 0.00| 13529| 13516|S | 0|__ |Wed May 22 09:13:02 2019
systemd-rc-loca S root __ 0.00 secs Wed May 22 09:13
这使得它看起来像是在尝试在后台进行一些交互式配置 - 假设它被编程为在不在交互式会话中时中止。手动配置似乎翻转了必要的开关。
故事还在继续...我检查了不同用户的 cron、审计日志、OOM killer 的系统日志,但就是找不到罪魁祸首。
最终让我免于疯狂的是 Ciro Santilli 的回答:https://superuser.com/questions/222912/how-can-i-log-all-process-launches-in-linux- 我对其进行了监控直到它停止,并记录了以下内容:
20119 2102 /etc/init.d/postfix stop
进而
$ ps auxf|grep 2102
root 2102 0.0 0.0 40820 3940 ? S May28 2:58 /usr/bin/monit -c /etc/monit/monitrc
我们已经找到了答案。罪魁祸首就是 monit。