有没有办法查看已完成运行或在给定时间之前被终止的进程?
例如,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 和各种工具来查看何时运行了什么,由哪个用户运行。如果您的规则设置正确,审计也可能如此。
但是如果您没有提前设置这些内容,除非程序自行进行日志记录,否则您可能无法找到太多信息。