如何在Linux中查看所有正在運行的進程

你可以使用ps命令。它能顯示當前運行中進程的相關信息,包括進程的PID。Linux和UNIX都支持ps命令,顯示所有運行中進程的相關信息。ps命令能提供一份當前進程的快照。如果你想狀態可以自動刷新,可以使用top命令。

ps命令

輸入下面的ps命令,顯示所有運行中的進程:

   # ps aux | less

其中,

-A:顯示所有進程

a:顯示終端中包括其它用戶的所有進程

x:顯示無控制終端的進程

任務:查看系統中的每個進程。

   # ps -A
   # ps -e

任務:查看非root運行的進程

   # ps -U root -u root -N

任務:查看用戶vivek運行的進程

   # ps -u vivek

任務:top命令

top命令提供了運行中系統的動態實時視圖。在命令提示行中輸入top:

   # top

輸出:

圖1:top命令:顯示Linux任務

按q退出,按h進入幫助。

任務:顯示進程的樹狀圖。

pstree以樹狀顯示正在運行的進程。樹的根節點爲pid或init。如果指定了用戶名,進程樹將以用戶所擁有的進程作爲根節點。

   $ pstree

輸出示例:

圖2:pstree - 顯示進程的樹狀圖

任務:使用ps列印進程樹

   # ps -ejH
   # ps axjf

任務:獲得線程信息

輸入下列命令:

   # ps -eLf
   # ps axms

任務:獲得安全信息

輸入下列命令:

   # ps -eo euser,ruser,suser,fuser,f,comm,label
   # ps axZ
   # ps -eM

任務:將進程快照儲存到文件中

輸入下列命令:

   # top -b -n1 > /tmp/process.log

你也可以將結果通過郵件發給自己:

   # top -b -n1 | mail -s 'Process snapshot' [email protected]

任務:查找進程

使用pgrep命令。pgrep能查找當前正在運行的進程並列出符合條件的進程ID。例如顯示firefox的進程ID:

   $ pgrep firefox

下面命令將顯示進程名爲sshd、所有者爲root的進程。

   $ pgrep -u root sshd

向htop和atop說hello

htop是一個類似top的交互式進程查看工具,但是可以垂直和水平滾動來查看所有進程和他們的命令行。進程的相關操作(killing,renicing)不需要輸入PID。要安裝htop輸入命令:

   # apt-get install htop

   # yum install htop

在命令提示行中輸入htop:

   # htop

輸出示例:

圖3:htop - Interactive Linux / UNIX process viewer

atop工具

atop是一個用來查看Linux系統負載的交互式監控工具。它能展現系統層級的關鍵硬件資源(從性能角度)的使用情況,如CPU、內存、硬盤和網絡。

它也可以根據進程層級的CPU和內存負載顯示哪個進程造成了特定的負載;如果已經安裝內核補丁可以顯示每個進程的硬盤和網絡負載。輸入下面的命令啓動atop:

   # atop

輸出示例:

圖4:AT Computing's System & Process Monitor

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