如何在Linux中檢視所有正在執行的程式

大雄45發表於2020-08-20
導讀 程式是一個其中執行著一個或多個執行緒的地址空間和這些執行緒所需要的系統資源。在 中有很多 。那麼哪些 可以檢視所有執行中的程式呢?

你可以使用ps命令。它能顯示當前執行中程式的相關資訊,包括程式的PID。 和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

輸出:

如何在Linux中檢視所有正在執行的程式如何在Linux中檢視所有正在執行的程式

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

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

顯示程式的樹狀圖

pstree以樹狀顯示正在執行的程式。樹的根節點為pid或init。如果指定了使用者名稱,程式樹將以使用者所擁有的程式作為根節點。

$ pstree

輸出示例:

如何在Linux中檢視所有正在執行的程式如何在Linux中檢視所有正在執行的程式

圖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' you@example.com

任務:查詢程式

使用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

輸出示例:

如何在Linux中檢視所有正在執行的程式如何在Linux中檢視所有正在執行的程式

圖3:htop - Interactive Linux / UNIX process viewer

atop工具

atop是一個用來檢視Linux系統負載的互動式監控工具。它能展現系統層級的關鍵硬體資源(從效能角度)的使用情況,如CPU、記憶體、硬碟和網路。

它也可以根據程式層級的CPU和記憶體負載顯示哪個程式造成了特定的負載;如果已經安裝核心補丁可以顯示每個程式的硬碟和網路負載。輸入下面的命令啟動atop:

# atop

輸出示例:

如何在Linux中檢視所有正在執行的程式如何在Linux中檢視所有正在執行的程式

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2713216/,如需轉載,請註明出處,否則將追究法律責任。

相關文章