查找正在关闭或终止 Linux 中的程序或服务的进程

查找正在关闭或终止 Linux 中的程序或服务的进程

在我的情况中,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。

相关内容