我知道某个进程会在某个时间重启我的 Web 服务器(可能是在 cron 任务中?但这种情况不会发生)每一个天,但我不知道哪个进程,只知道它的 id(从查看 Web 服务器日志。我检查了几个日志中的 pid)。有没有办法只给出 pid 来查找已经消失一段时间(几个小时)的进程的进程名称/批处理文件?
答案1
打开 BSD 进程记帐(acct
在 Debian/Ubuntu 中,psacct
在我用过的类似 RHEL 的发行版中),然后查看lastcomm
您感兴趣的进程的结果日志(使用)。
答案2
除非您明确记录任何新进程、其名称和其 PID,或者(巧合地)在系统日志中有此进程的条目(通常会提到 PID 和程序的名称),否则我认为没有办法找出哪个程序在过去具有特定的 PID。
由于您提到了 lighttpd,因此有几种可能性,其中三种是:
- logrotate(因为在旋转日志文件后,lighttpd 必须重新打开文件描述符)
- lighttpd-天使
- monit、god、Nagios、Zabbix 或任何监控软件,当您的 Web 服务器进程运行时间过长或使用过多内存时,它会重新启动它。