无法找到半小时未使用的流程

时间:2009-04-27 00:42:29

标签: process ps

您可以通过

获取地下流程
ps ux

我正在寻找一种方法来找到我没有触及过30分钟的过程。

如何找到半小时内未使用的流程?

1 个答案:

答案 0 :(得分:4)

定义“未触动”和“未使用”。您可以在类似BSD的系统中使用ps(1)上的f参数,在Solaris和类似Sys / V的系统上使用-o来查找大量内容。

更新

回应评论:

嗯,你可以做到。例如,考虑执行周期性ps的事情,并将使用的CPU时间与时间一起存储。 (实际上,你可以通过C程序调用适当的系统调用来做得更好,但这确实是一个实现细节。)存储采样时间和PID,并观察PID的CPU时间是否在适当的时间间隔内没有发生变化。甚至可以使用像

这样的awk或perl程序来实现
while true; do
  ps _flags_
  sleep 30
done | awk -f myprog | tail -f

这样,每当awk获得ps输出时,它就会对其进行修改,识别候选人,并通过tail -f将其发送出去。

但是你可能会有不经常被调用的守护进程;我不清楚CPU时间本身是一个很好的衡量标准。

关于定义你真正想要做的事情的重点是:可能有一种方法可以做到这一点,但我想不到单独使用ps标志 的组合。