识别 Linux 中 7 天前的任务/进程

识别 Linux 中 7 天前的任务/进程

如何识别 Linux 中 7 天以来运行的进程?

答案1

这是一个开始:

ps -eoetime,pid,user,cmd --sort -etime

您可以选择要显示的任何信息,请参阅man ps长长的列表。上面的命令列出了按经过时间降序排列的所有进程。如果您只想显示已运行至少 7 天的进程,则需要使用grep或执行某些操作awk;在这种情况下,您可能只想打印出etime和 ,pid因为稍后您可以在特定进程上打印出您想要的任何数据。

不幸的是,该etime格式更多是为人设计的,而不是为脚本设计的,但以下内容应该有效(尽管我还没有测试过):

ps -eoetime=,pid= | awk 'int(substr($1,1,index($1,"-"))) >= 7 { print }'

命令行选项简要说明:

-e             show all processes
-eo...         same as -e -o...
-oetime=,pid=  for each process, print the elapsed time and pid.
               The '=' suppress the column headers
--sort -etime  sort the processes in descending order by elapsed time
               (+etime would have been ascending order)

相关内容