Linux - 查找进程是否就绪或正在运行

5

在低端单核机器上 - 例如廉价的上网本 - 一次只运行一个进程,那就是您的监控进程(在多核机器上,情况就不同了)。因此,您实际上想要测量给定进程是否在最近的几个jiffies内运行,即可能在最近的十分之一秒内运行。 - Basile Starynkevitch
1个回答

2
问题的表述不正确。在单个CPU上,根据定义,监控进程具有CPU,因此从字面上说,永远不可能看到一个进程处于“运行”状态。如果您确实需要对进程转换进行细粒度的日志记录控制,您需要在内核中执行此操作(或至少使用内核支持 - 请参见 lttng 或 systemtap 工具,这些工具可能会有所帮助)。用于跟踪用户空间CPU使用情况的工具更为粗略,可以使用内核已经跟踪的总使用量数字(例如 /usr/bin/time)或者通过在时间间隔内对进程表进行采样来完成(bootchart 是这种方式)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接