日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux环境下ps命令行,Linux系统ps命令详解:查看正在运行的进程

發布時間:2023/12/20 linux 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux环境下ps命令行,Linux系统ps命令详解:查看正在运行的进程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ps命令是最常用的監控進程的命令,通過此命令可以查看系統中所有運行進程的詳細信息。ps命令有多種不同的使用方法,這常常給初學者帶來困惑。在各種Linux論壇上,詢問ps命令語法的帖子屢見不鮮,而出現這樣的情況,還要歸咎于UNIX悠久的歷史和龐大的派系。在不同的Linux發行版上,ps命令的語法各不相同,為此,Linux采取了一個折中的方法,即融合各種不同的風格,兼顧那些已經習慣了其它系統上使用ps命令的用戶。

ps 命令的基本格式如下:[root@localhost?~]#?ps?aux

#查看系統中所有的進程,使用?BS?操作系統格式

[root@localhost?~]#?ps?-le

#查看系統中所有的進程,使用?Linux?標準命令格式

選項:a:顯示一個終端的所有進程,除會話引線外;

u:顯示進程的歸屬用戶及內存的使用情況;

x:顯示沒有控制終端的進程;

-l:長格式顯示更加詳細的信息;

-e:顯示所有進程;

可以看到,ps命令有些與眾不同,它的部分選項不能加入"-",比如命令"ps aux",其中"aux"是選項,但是前面不能帶“-”。

大家如果執行 "man ps" 命令,則會發現ps命令的幫助為了適應不同的類UNIX系統,可用格式非常多,不方便記憶。所以,我建議大家記憶幾個固定選項即可。比如:"ps aux" 可以查看系統中所有的進程;

"ps -le" 可以查看系統中所有的進程,而且還能看到進程的父進程的 PID 和進程優先級;

"ps -l" 只能看到當前shell產生的進程;

有這三個命令就足夠了,下面分別來查看。

【例 1】[root@localhost?~]#?ps?aux

#查看系統中所有的進程

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

root?1?0.0?0.2?2872?1416???Ss?Jun04?0:02?/sbin/init

root?2?0.0?0.0?0?0???S?Jun04?0:00?[kthreadd]

root?3?0.0?0.0?0?0???S?Jun04?0:00?[migration/0]

root?4?0.0?0.0?0?0???S?Jun04?0:00?[ksoftirqd/0]

…省略部分輸出…

表 1 中羅列出了以上輸出信息中各列的具體含義。表 1 ps命令輸出信息含義表頭含義

USER該進程是由哪個用戶產生的。

PID進程的 ID。

%CPU該進程占用 CPU 資源的百分比,占用的百分比越高,進程越耗費資源。

%MEM該進程占用物理內存的百分比,占用的百分比越高,進程越耗費資源。

VSZ該進程占用虛擬內存的大小,單位為 KB。

RSS該進程占用實際物理內存的大小,單位為KB。

TTY該進程是在哪個終端運行的。其中,tty1 ~ tty7 代表本地控制臺終端(可以通過 Alt+F1 ~ F7 快捷鍵切換不同的終端),tty1~tty6 是本地的字符界面終端,tty7 是圖形終端。pts/0 ~ 255 代表虛擬終端,一般是遠程連接的終端,第一個遠程連接占用 pts/0,第二個遠程連接占用 pts/1,依次増長。

STAT進程狀態。常見的狀態有以下幾種:-D:不可被喚醒的睡眠狀態,通常用于 I/O 情況。

-R:該進程正在運行。

-S:該進程處于睡眠狀態,可被喚醒。

-T:停止狀態,可能是在后臺暫停或進程處于除錯狀態。

-W:內存交互狀態(從 2.6 內核開始無效)。

-X:死掉的進程(應該不會出現)。

-Z:僵尸進程。進程已經中止,但是部分程序還在內存當中。

-

-N:低優先級。

-L:被鎖入內存。

-s:包含子進程。

-l:多線程(小寫 L)。

-+:位于后臺。

START該進程的啟動時間。

TIME該進程占用 CPU 的運算時間,注意不是系統時間。

COMMAND產生此進程的命令名。

【例 2】"ps aux"命令可以看到系統中所有的進程,"ps -le"命令也能看到系統中所有的進程。由于 "-l" 選項的作用,所以 "ps -le" 命令能夠看到更加詳細的信息,比如父進程的 PID、優先級等。但是這兩個命令的基本作用是一致的,掌握其中一個就足夠了。[root@localhost?~]#?ps?-le

F?S?UID?PID?PPID?C?PRI?Nl?ADDR?SZ?WCHAN?TTY?TIMECMD

4?S?0?1?0?0?80?0?-?718-???00:00:02?init

1?S?0?2?0?0?80?0-?0-???00:00:00?kthreadd

1?S?0?3?2?0-40?--?0-???00:00:00?migration/0

1?S?0?4?2?0?80?0-?0-???00:00:00?ksoflirqd/0

1?S?0?5?2?0-40?--?0-???00:00:00?migration/0

…省略部分輸出…

表 2 羅列出以上輸出信息中各列的含義。表 2 ps -le 命令輸出信息表頭含義

F進程標志,說明進程的權限,常見的標志有兩個:

1:進程可以被復制,但是不能被執行;

4:進程使用超級用戶權限;

S進程狀態。具體的狀態和"psaux"命令中的 STAT 狀態一致;

UID運行此進程的用戶的 ID;

PID進程的 ID;

PPID父進程的 ID;

C該進程的 CPU 使用率,單位是百分比;

PRI進程的優先級,數值越小,該進程的優先級越高,越早被 CPU 執行;

NI進程的優先級,數值越小,該進程越早被執行;

ADDR該進程在內存的哪個位置;

SZ該進程占用多大內存;

WCHAN該進程是否運行。"-"代表正在運行;

TTY該進程由哪個終端產生;

TIME該進程占用 CPU 的運算時間,注意不是系統時間;

CMD產生此進程的命令名;

【例 3】如果不想看到所有的進程,只想查看一下當前登錄產生了哪些進程,那只需使用 "ps -l" 命令就足夠了:[root@localhost?~]#?ps?-l

#查看當前登錄產生的進程

FS?UID?PID?PPID?C?PRI?Nl?ADDR?SZ?WCHAN?TTY?TIMECMD

4?S?0?18618?18614?0?80?0?-?1681?-pts/1?00:00:00?bash

4?R?0?18683?18618?4?80?0?-?1619?-pts/1?00:00:00?ps

可以看到,這次從 pts/1 虛擬終端登錄,只產生了兩個進程:一個是登錄之后生成的 Shell,也就是 bash另一個是正在執行的 ps 命令。

我們再來說說僵尸進程。僵尸進程的產生一般是由于進程非正常停止或程序編寫錯誤,導致子進程先于父進程結束,而父進程又沒有正確地回收子進程,從而造成子進程一直存在于內存當中,這就是僵尸進程。

僵尸進程會對主機的穩定性產生影響,所以,在產生僵尸進程后,一定要對產生僵尸進程的軟件進行優化,避免一直產生僵尸進程;對于已經產生的僵尸進程,可以在查找出來之后強制中止。

本文來自投稿,不代表訪得立場,如若轉載,請注明出處:http://www.found5.com//view/1014.html

總結

以上是生活随笔為你收集整理的linux环境下ps命令行,Linux系统ps命令详解:查看正在运行的进程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。