我知道我可以ps aux | grep cgi
获取当前正在运行的所有 cgi 脚本的列表,并且ps -p [pid] -o etime=
可以获取每个 pid 的运行时间;有没有办法将两者结合起来,或者更好的是,只返回那些运行时间“太长”(例如,45秒)的?
理想情况下,我正在寻找可以放入 perl 脚本中的东西,该脚本可以查找问题,通过电子邮件向我发送详细信息,并“为了安全”主动终止进程。将 a 的输出捆绑起来,然后迭代结果会更好吗?
答案1
我过去也做过类似的事情。
ps -A -o etime,pid,user,args| grep init
回报
180-04:55:20 1 root init [5]
这在 perl 中很容易解析。我使用 split 和 pop 来解析它。
格式为 [[dd-]hh:]mm:ss
答案2
相反,你可以运行监控,这已经是为此设计的。