您可以通过
获取地下流程ps ux
我正在寻找一种方法来找到我没有触及过30分钟的过程。
如何找到半小时内未使用的流程?
答案 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标志 的组合。