Unix / Linux 命令查看已完成或已终止的进程

Unix / Linux 命令查看已完成或已终止的进程

有没有办法查看已完成运行或在给定时间之前被终止的进程?

例如,ps -ef将显示所有正在运行的进程,但如果某个进程结束,该命令将不再返回该进程。因此,例如,如果我想查看一小时前正在运行的进程(及其命令),是否有任何命令可以执行此操作?或者不再使用的进程的日志?

尝试调查一小时前的一个小故障,并希望获得尽可能多的信息!

干杯

答案1

您可以在系统日志中找到该信息 /var/log/syslog/var/log/messages

根据它们所处的进程,您可能能够找到有关它们的开始时间等的一些信息。

前任:

Feb  1 12:31:21 centos7 NetworkManager[809]: <info> dhclient started with pid 1319

如果您正在调查某些资源使用情况,您可以使用它来记录它pidstat并将其写入日志文件。

一些应用程序也会写入PID文件,以便将来您也可以记录它。

答案2

如果您没有提前设置好,您将无法获得所需的东西,但 psacct 会跟踪进程,但您必须确保存储。然后,您可以使用 lastcomm 和各种工具来查看何时运行了什么,由哪个用户运行。如果您的规则设置正确,审计也可能如此。

但是如果您没有提前设置这些内容,除非程序自行进行日志记录,否则您可能无法找到太多信息。

相关内容