处于轮询状态?

时间:2012-01-27 09:50:37

标签: linux process

给定进程ID,如何判断该进程当前是否在轮询状态中被阻止?即它已调用poll()并显示否定超时,并等待输入准备就绪。

1 个答案:

答案 0 :(得分:1)

在类UNIX系统上,命令行实用程序“ps”提供此信息。根据操作系统的不同,ps有很多种,所以请阅读手册页。

在类似BSD的系统(mac)上:

ps -eo pid,user,cpu,state,comm

  PID USER     CPU STAT COMM
    1 root       0 Ss   /sbin/launchd
   15 root       0 Ss   /usr/libexec/kextd
90710 root       0 R+   ps
83804 joe        0 Ss   /bin/bash
89631 joe        0 S+   ssh

其中STAT是进程状态。 S意味着可中断的睡眠。 s(小写)表示会话负责人。 '+'表示它位于前台进程组中。 R表示正在运行或可运行(在运行队列中)。还有更多可能的状态。