中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Linux ps命令有什么用

發布時間:2022-01-21 11:23:21 來源:億速云 閱讀:222 作者:柒染 欄目:開發技術

這篇文章跟大家分析一下“Linux ps命令有什么用”。內容詳細易懂,對“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進程狀態。常見的狀態有以下幾種:
  1. -D:不可被喚醒的睡眠狀態,通常用于 I/O 情況。

  2. -R:該進程正在運行。

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

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

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

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

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

  8. -

  9. -N:低優先級。

  10. -L:被鎖入內存。

  11. -s:包含子進程。

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

  13. -+:位于后臺。

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      TIME  CMD
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
#查看當前登錄產生的進程
F S UID   PID  PPID C PRI NI ADDR SZ WCHAN TTY       TIME CMD
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 命令。

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

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

關于Linux ps命令有什么用就分享到這里啦,希望上述內容能夠讓大家有所提升。如果想要學習更多知識,請大家多多留意小編的更新。謝謝大家關注一下億速云網站!

向AI問一下細節

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

AI

灵山县| 新源县| 叶城县| 万州区| 竹北市| 马尔康县| 蓝田县| 广东省| 延庆县| 千阳县| 凤台县| 黄骅市| 溆浦县| 嘉峪关市| 东阿县| 麻江县| 安塞县| 印江| 平安县| 松桃| 阿合奇县| 海盐县| 贵溪市| 临朐县| 紫云| 西和县| 浦县| 周口市| 喀喇沁旗| 嘉兴市| 永州市| 谷城县| 两当县| 屏山县| 嘉善县| 布拖县| 阜阳市| 宣汉县| 永年县| 陇南市| 同江市|