linux命令 ps aux | grep xxx詳解

說明:

要對進程進行監測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程, 而 ps命令 Process Status 就是最基本,同時也是非常強大的進程查看命令.

使用該命令 ,可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有殭屍、哪些進程佔用了過多的資源等等.
總之大部分信息都是可以通過執行該命令得到的.

ps 爲我們提供了進程的一次性的查看,它所提供的查看結果並不動態連續的。如果想對進程時間監控,應該用 top 工具。

如果直接用ps命令,會顯示所有進程的狀態,通常結合grep命令查看某進程的狀態

grep命令

grep (global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。

使用示例:

查看redis 進程的情況:

ps -aux|grep redis

在這裏插入圖片描述

ps aux輸出格式:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

格式說明:

  • USER: 行程擁有者
  • PID: pid 進程的id
  • %CPU: 佔用CPU的 使用率
  • %MEM: 佔用記憶體的使用率
  • VSZ: 佔用的虛擬記憶體大小
  • RSS: 佔用的記憶體大小
  • TTY: 終端的次要裝置號碼 (minor device number of tty)

STAT: 該行程的狀態,linux的進程有5種狀態:

  • D 不可中斷 uninterruptible sleep (usually IO)
  • R 運行 runnable (on run queue)
  • S 中斷 sleeping
  • T 停止 traced or stopped
  • Z 僵死 a defunct (”zombie”) process

注: 其它狀態還包括W(無駐留頁), <(高優先級進程), N(低優先級進程), L(內存鎖頁).

  • START: 行程開始時間
  • TIME: 執行的時間
  • COMMAND:所執行的指令

ps 命令常用參數:

  1. ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
  2. ps -A 顯示所有程序。
  3. ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
  4. ps -e 此參數的效果和指定"A"參數相同。
  5. ps e 列出程序時,顯示每個程序所使用的環境變量。
  6. ps f 用ASCII字符顯示樹狀結構,表達程序間的相互關係。
  7. ps -H 顯示樹狀結構,表示程序間的相互關係。
  8. ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
  9. ps s 採用程序信號的格式顯示程序狀況。
  10. ps S 列出程序時,包括已中斷的子程序資料。
  11. ps -t  指定終端機編號,並列出屬於該終端機的程序的狀況。
  12. ps u  以用戶爲主的格式來顯示程序狀況。
  13. ps x  顯示所有程序,不以終端機來區分。

ps是顯示當前狀態處於running的進程,grep表示在這些裏搜索,而ps aux是顯示所有進程和其狀態。

常用舉例:

查看amoeba的進程

$ ps aux | grep amoeba

殺死進程

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