什么意思是futex_?

时间:2012-03-06 10:24:10

标签: c linux mutex

我的申请突然间停止了工作。我执行了以下命令,

#ps -elf  | grep aeroServ

并得到以下输出,

#0 S binunun   5634  2300  0  80   0 -  7781 futex_ 15:41 pts/0    00:00:04

我能够感觉到的是,应用程序没有运行,但我不明白该进程现在处于哪种状态。有人可以解释一下。

1 个答案:

答案 0 :(得分:7)

这是WCHAN输出的ps列。

正如手册页所说:

  进程处于休眠状态的内核函数的

nwchan WCHAN地址(如果需要内核函数名,请使用wchan)。正在运行的任务将在此列中显示短划线(' - ')。

因此,您的进程在内核中futex_*调用时被阻止(这些调用与互斥锁定/解锁和其他同步原语相关)。 为什么它被阻止,只有你可以通过检查你的代码和/或使用调试器来判断。

(有关futexes的信息,请参阅Futex。)