2012-03-06 76 views
5

我的應用突然停止工作。我執行下面的COMAND,什麼意思futex_?

#ps -elf | grep aeroServ 

,並得到了以下輸出,

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

什麼我可以能夠感覺到的是,應用程序沒有運行,但我不明白哪個狀態過程現在。有人可以解釋一下嗎?

回答

6

這就是ps輸出的WCHAN列。

由於該男子頁說:在哪裏(如果你想內核函數名稱使用WCHAN)的過程中處於睡眠狀態的內核函數的

nwchanWCHAN地址。正在運行的任務將在此列中顯示短劃線(' - ')。

因此,您的進程在內核中的futex_*調用上被阻塞(這些調用與互斥鎖定/解鎖和其他同步原語有關)。 爲什麼它在那裏被阻塞,只有你可以通過檢查你的代碼和/或使用調試器來判斷。

(有關futexes的信息,請參閱Futex。)