Linux命令 --- ps/pstack/pstree

pstack
pstack pid
顯示某個進程的棧跟蹤,必須在對應的用戶組或root下操作。

[wuchunlai@s1 ~]$ sudo -u work pstack $(pgrep cc_engine)
Thread 3 (Thread 0x7fb3467ff700 (LWP 6130)):
#0  0x000000370cae5d03 in epoll_wait () from /lib64/libc.so.6
#1  0x000000000042af06 in cc_loop_run ()
#2  0x0000000000418019 in cc_single_send_start ()
#3  0x000000370ce077f1 in start_thread () from /lib64/libpthread.so.0
#4  0x000000370cae570d in clone () from /lib64/libc.so.6
Thread 2 (Thread 0x7fb345dfe700 (LWP 6131)):
#0  0x000000370caaab9d in nanosleep () from /lib64/libc.so.6
#1  0x000000370caaaa10 in sleep () from /lib64/libc.so.6
#2  0x00000000004083b1 in cc_collect_log ()
#3  0x000000370ce077f1 in start_thread () from /lib64/libpthread.so.0
#4  0x000000370cae570d in clone () from /lib64/libc.so.6
Thread 1 (Thread 0x7fb346ca2840 (LWP 6128)):
#0  0x000000370ca32c34 in sigsuspend () from /lib64/libc.so.6
#1  0x0000000000433d42 in cc_sig_wait ()
#2  0x000000000040600c in cc_client_process ()
#3  0x0000000000405be2 in cc_run ()
#4  0x0000000000405c2a in main ()

pstree
pstree
以樹狀結構顯示所有進程的關係,只顯示進程名字,並且相同進程合併。

pstree -p
顯示所有的進程,並添加進程號

pstree -p
顯示進程PID爲的進程以及子孫進程,如果有-p則顯示每個進程的PID。

pstree -a
相同名稱進程不合並,並且會顯示命令行參數

pstree
可以跟一個用戶參數,表示顯示哪個用戶的進程列表。

因爲pstree輸出的信息可能比較多,所以最好與more/less配合使用。

[wuchunlai@s1 ~]$ pstree -p $(pgrep cc_engine)
cc_engine(6128)─┬─{cc_engine}(6130)
                └─{cc_engine}(6131)

ps
-A/e 列出所有的進程
-a 顯示一個終端的所有進程,除了會話引線
-d 顯示所有進程,省略所有回話引線
-x 顯示沒有控制終端的進程,同時顯示各個命令的具體路徑。dx不可合用。
-w 顯示加寬可以顯示較多的資訊
-f 列出全部選項
-o 用戶自定義格式 pid/uname/pcpu/pmem/rsz/comm

-p pid 顯示pid使用的cpu時間
-u uid/user 選擇用戶
-g gid/group 選擇組
-C name 選擇進程
–sort=-pcpu,+pmem 根據後加選項進行排序,-表示降序+表示升序

ps aux == ps -ef 列出所有進程
ps -fC … == ps -ef | grep …

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