【问题标题】:What does mean futex_?futex_ 是什么意思?
【发布时间】:2012-03-23 19:34:01
【问题描述】:

我的应用程序突然停止工作。我执行了以下命令,

#ps -elf  | grep aeroServ

得到以下输出,

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

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

【问题讨论】:

    标签: c linux mutex


    【解决方案1】:

    这是ps 输出的WCHAN 列。

    正如手册页所说:

    nwchanWCHAN 进程处于休眠状态的内核函数地址(如果需要内核函数名称,请使用 wchan)。正在运行的任务将在此列中显示破折号('-')。

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

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

    【讨论】:

    • 简单而精湛的解释。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 2017-06-11
    • 2018-03-05
    • 2023-03-27
    • 1970-01-01
    • 2013-03-09
    • 2020-05-01
    相关资源
    最近更新 更多