linux進程掛死時候如何定位問題

1、先ps aux

查看進程狀態, D是掛死了(死循環,一直運行)

STAT狀態位常見的狀態字符

D 無法中斷的休眠狀態(通常 IO 的進程);
R 正在運行可中在隊列中可過行的;
S 處於休眠狀態;
T 停止或被追蹤;
W 進入內存交換  (從內核2.6開始無效);
X 死掉的進程   (基本很少見);
Z 殭屍進程;
< 優先級高的進程
N 優先級較低的進程
L 有些頁被鎖進內存;
s 進程的領導者(在它之下有子進程);
l 多進程的(使用 CLONE_THREAD, 類似 NPTL pthreads);
+ 位於後臺的進程組;

 

 

 

找到掛死的進程,查看進程棧信息,在代碼什麼地方死循環, cat /proc/pid/stack, 從而可以進一步看代碼爲什麼死循環

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章