溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中ps命令有什么用

發(fā)布時間:2022-02-11 13:46:07 來源:億速云 閱讀:186 作者:小新 欄目:開發(fā)技術

小編給大家分享一下Linux中ps命令有什么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Linux常用命令ps命令 用于報告當前系統(tǒng)的進程狀態(tài)??梢源钆鋕ill指令隨時中斷、刪除不必要的程序。

Linux中ps命令有什么用

ps

報告當前系統(tǒng)的進程狀態(tài)

補充說明

ps命令是最基本同時也是非常強大的進程查看命令,使用該命令可以確定有哪些進程正在運行和運行的狀態(tài)、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等,總之大部分信息都是可以通過執(zhí)行該命令得到的。

語法

 ps(選項)

選項

 -a:顯示所有終端機下執(zhí)行的程序,除了階段作業(yè)領導者之外。 a:顯示現行終端機下的所有程序,包括其他用戶的程序。 -A:顯示所有程序。 -c:顯示CLS和PRI欄位。 c:列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,選項或常駐服務的標示。 -C:指定執(zhí)行指令的名稱,并列出該指令的程序的狀況。 -d:顯示所有程序,但不包括階段作業(yè)領導者的程序。 -e:此選項的效果和指定"A"選項相同。 e:列出程序時,顯示每個程序所使用的環(huán)境變量。 -f:顯示UID,PPIP,C與STIME欄位。 f:用ASCII字符顯示樹狀結構,表達程序間的相互關系。 -g:此選項的效果和指定"-G"選項相同,當亦能使用階段作業(yè)領導者的名稱來指定。 g:顯示現行終端機下的所有程序,包括群組領導者的程序。 -G:列出屬于該群組的程序的狀況,也可使用群組名稱來指定。 h:不顯示標題列。 -H:顯示樹狀結構,表示程序間的相互關系。 -j或j:采用工作控制的格式顯示程序狀況。 -l或l:采用詳細的格式來顯示程序狀況。 L:列出欄位的相關信息。 -m或m:顯示所有的執(zhí)行緒。 n:以數字來表示USER和WCHAN欄位。 -N:顯示所有的程序,除了執(zhí)行ps指令終端機下的程序之外。 -p:指定程序識別碼,并列出該程序的狀況。 p:此選項的效果和指定"-p"選項相同,只在列表格式方面稍有差異。 r:只列出現行終端機正在執(zhí)行中的程序。 -s:指定階段作業(yè)的程序識別碼,并列出隸屬該階段作業(yè)的程序的狀況。 s:采用程序信號的格式顯示程序狀況。 S:列出程序時,包括已中斷的子程序資料。 -t:指定終端機編號,并列出屬于該終端機的程序的狀況。 t:此選項的效果和指定"-t"選項相同,只在列表格式方面稍有差異。 -T:顯示現行終端機下的所有程序。 -u:此選項的效果和指定"-U"選項相同。 u:以用戶為主的格式來顯示程序狀況。 -U:列出屬于該用戶的程序的狀況,也可使用用戶名稱來指定。 U:列出屬于該用戶的程序的狀況。 v:采用虛擬內存的格式顯示程序狀況。 -V或V:顯示版本信息。 -w或w:采用寬闊的格式來顯示程序狀況。  x:顯示所有程序,不以終端機來區(qū)分。 X:采用舊式的Linux i386登陸格式顯示程序狀況。 -y:配合選項"-l"使用時,不顯示F(flag)欄位,并以RSS欄位取代ADDR欄位 。 -:此選項的效果和指定"p"選項相同。 --cols:設置每列的最大字符數。 --columns:此選項的效果和指定"--cols"選項相同。 --cumulative:此選項的效果和指定"S"選項相同。 --deselect:此選項的效果和指定"-N"選項相同。 --forest:此選項的效果和指定"f"選項相同。 --headers:重復顯示標題列。 --help:在線幫助。 --info:顯示排錯信息。 --lines:設置顯示畫面的列數。 --no-headers:此選項的效果和指定"h"選項相同,只在列表格式方面稍有差異。 --group:此選項的效果和指定"-G"選項相同。 --Group:此選項的效果和指定"-G"選項相同。 --pid:此選項的效果和指定"-p"選項相同。 --rows:此選項的效果和指定"--lines"選項相同。 --sid:此選項的效果和指定"-s"選項相同。 --tty:此選項的效果和指定"-t"選項相同。 --user:此選項的效果和指定"-U"選項相同。 --User:此選項的效果和指定"-U"選項相同。 --version:此選項的效果和指定"-V"選項相同。 --widty:此選項的效果和指定"-cols"選項相同。

由于ps命令能夠支持的系統(tǒng)類型相當的多,所以選項多的離譜!

實例

 ps axo pid,comm,pcpu # 查看進程的PID、名稱以及CPU 占用率 ps aux | sort -rnk 4 # 按內存資源的使用量對進程進行排序 ps aux | sort -nk 3  # 按 CPU 資源的使用量對進程進行排序 ps -A # 顯示所有進程信息 ps -u root # 顯示指定用戶信息 ps -efL # 查看線程數 ps -e -o "%C : %p :%z : %a"|sort -k5 -nr # 查看進程并按內存使用大小排列 ps -ef # 顯示所有進程信息,連同命令行 ps -ef | grep ssh # ps 與grep 常用組合用法,查找特定進程 ps -C nginx # 通過名字或命令搜索進程 ps aux --sort=-pcpu,+pmem # CPU或者內存進行排序,-降序,+升序 ps -f --forest -C nginx # 用樹的風格顯示進程的層次關系 ps -o pid,uname,comm -C nginx # 顯示一個父進程的子進程 ps -e -o pid,uname=USERNAME,pcpu=CPU_USAGE,pmem,comm # 重定義標簽 ps -e -o pid,comm,etime # 顯示進程運行的時間 ps -aux | grep named # 查看named進程詳細信息 ps -o command -p 91730 | sed -n 2p # 通過進程id獲取服務名稱

將目前屬于您自己這次登入的 PID 與相關信息列示出來

 ps -l #  UID   PID  PPID        F CPU PRI NI       SZ    RSS WCHAN     S             ADDR TTY           TIME CMD #  501   566   559     4006   0  31  0  4317620    228 -      Ss                  0 ttys001    0:00.05 /App...cOS/iTerm2 --server /usr/bin/login -fpl kenny /Ap...s/MacOS/iTerm2 --launch_shel #  501   592   577     4006   0  31  0  4297048     52 -      S                   0 ttys001    0:00.63 -zsh
  • F 代表這個程序的旗標 (flag), 4 代表使用者為 super user

  • S 代表這個程序的狀態(tài) (STAT),關于各 STAT 的意義將在內文介紹

  • UID 程序被該 UID 所擁有

  • PID 就是這個程序的 ID !

  • PPID 則是其上級父程序的ID

  • C CPU 使用的資源百分比

  • PRI 這個是 Priority (優(yōu)先執(zhí)行序) 的縮寫,詳細后面介紹

  • NI 這個是 Nice 值,在下一小節(jié)我們會持續(xù)介紹

  • ADDR 這個是 kernel function,指出該程序在內存的那個部分。如果是個 running的程序,一般就是 “-“

  • SZ 使用掉的內存大小

  • WCHAN 目前這個程序是否正在運作當中,若為 – 表示正在運作

  • TTY 登入者的終端機位置

  • TIME 使用掉的 CPU 時間。

  • CMD 所下達的指令為何

在預設的情況下, ps 僅會列出與目前所在的 bash shell 有關的 PID 而已,所以, 當我使用 ps -l 的時候,只有三個 PID。

列出目前所有的正在內存當中的程序

 ps aux  # USER               PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND # kenny             6155  21.3  1.7  7969944 284912   ??  S    二03下午 199:14.14 /Appl...OS/WeChat # kenny              559  20.4  0.8  4963740 138176   ??  S    二03下午  33:28.27 /Appl...S/iTerm2 # _windowserver      187  18.0  0.6  7005748  95884   ??  Ss   二03下午 288:44.97 /Syst...Light.WindowServer -daemon # kenny             1408  10.7  2.1  5838592 347348   ??  S    二03下午 138:51.63 /Appl...nts/MacOS/Google Chrome # kenny              327   5.8  0.5  5771984  79452   ??  S    二03下午   2:51.58 /Syst...pp/Contents/MacOS/Finder
  • USER:該 process 屬于那個使用者賬號的

  • PID :該 process 的號碼

  • %CPU:該 process 使用掉的 CPU 資源百分比

  • %MEM:該 process 所占用的物理內存百分比

  • VSZ :該 process 使用掉的虛擬內存量 (Kbytes)

  • RSS :該 process 占用的固定的內存量 (Kbytes)

  • TTY :該 process 是在那個終端機上面運作,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程序,若為 pts/0 等等的,則表示為由網絡連接進主機的程序。

  • STAT:該程序目前的狀態(tài),主要的狀態(tài)有

  • R :該程序目前正在運作,或者是可被運作

  • S :該程序目前正在睡眠當中 (可說是 idle 狀態(tài)),但可被某些訊號 (signal) 喚醒。

  • T :該程序目前正在偵測或者是停止了

  • Z :該程序應該已經終止,但是其父程序卻無法正常的終止他,造成 zombie (疆尸) 程序的狀態(tài)

  • START:該 process 被觸發(fā)啟動的時間

  • TIME :該 process 實際使用 CPU 運作的時間

  • COMMAND:該程序的實際指令

列出類似程序樹的程序顯示

 ps -axjf  # USER               PID  PPID  PGID   SESS JOBC STAT   TT       TIME COMMAND            UID   C STIME   TTY # root                 1     0     1      0    0 Ss     ??   10:51.90 /sbin/launchd        0   0 二03下午 ?? # root                50     1    50      0    0 Ss     ??    0:10.07 /usr/sbin/syslog     0   0 二03下午 ?? # root                51     1    51      0    0 Ss     ??    0:29.90 /usr/libexec/Use     0   0 二03下午 ??

找出與 cron 與 syslog 這兩個服務有關的 PID 號碼

 ps aux | egrep '(cron|syslog)'  # root                50   0.0  0.0  4305532   1284   ??  Ss   二03下午   0:10.08 /usr/sbin/syslogd # kenny            90167   0.0  0.0  4258468    184 s007  R+    9:23下午   0:00.00 egrep (cron|syslog)

把所有進程顯示出來,并輸出到ps001.txt文件

 ps -aux > ps001.txt

輸出指定的字段。

以上是“Linux中ps命令有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI