如何列出长时间运行的 shell 脚本?

如何列出长时间运行的 shell 脚本?

目前我们在 HP-UX 中运行大量 UNIX shell 脚本。我们想跟踪哪些脚本运行时间较长(超过 1 天),如何跟踪?

此外,我想列出运行时间超过一定小时数(例如 10 小时)的长时间运行的 UNIX 作业,我们该怎么做?

答案1

不确定你运行的是哪个版本的 HP-UX,但如果你执行ps -ef,输出中的其中一列将是时间(或进程开始时间)。一旦进程的运行时间超过 24 小时,开始时间 (stime) 将打印为开始日期(如“Mar23”)。您可以ps使用此开始日期对输出进行排序。

如果您只是想列出已运行 24 小时或更长时间的进程(如您在问题中规定的那样),只需省略 stime 仍为时间的行(如23:11)。如果 stime 是输出中的第 5 列,那么您可以使用以下命令省略该字段中带有冒号的任何行ps -ef | awk '$5 !~ /:/'

相关内容