導航:首頁 > 程序命令 > 查看進程的命令ps

查看進程的命令ps

發布時間:2023-08-16 20:17:06

linux ps命令:用於顯示當前進程 (process) 的狀態

ps [options] [—help]

ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C <指令名稱>][-g <群組名稱>]

[-G <群組識別碼>][-p <進程識別碼>][p <進程識別碼>][-s <階段作業>]

[-t <終端機編號>][t <終端機編號>][-u <用戶識別碼>][-U <用戶識別碼>]

[U <用戶名稱>][-<進程識別碼>][--cols <每列字元數>]

[--columns <每列字元數>][--cumulative][--deselect][--forest]

[--headers][--help][-- info][--lines <顯示列數>][--no-headers]

[--group <群組名稱>][-Group <群組識別碼>][--pid <進程識別碼>]

[--rows <顯示列數>][--sid <階段作業>][--tty <終端機編號>]

[--user <用戶名稱>][--User <用戶識別碼>][--version]

[--width <每列字元數>]

       -a  顯示所有終端機下執行的進程,除了階段作業領導者之外

a  顯示現行終端機下的所有進程,包括其他用戶的進程

-A  顯示所有進程

-c  顯示CLS和PRI欄位

c  列出進程時,顯示每個進程真正的指令名稱,而不包含路徑,參數或常駐服務的標示

-C<指令名稱> 指定執行指令的名稱,並列出該指令的進程的狀況

-d 顯示所有進程,但不包括階段作業領導者的進程

-e 此參數的效果和指定"A"參數相同

e 列出進程時,顯示每個進程所使用的環境變數

-f 顯示UID,PPIP,C與STIME欄位

f 用ASCII字元顯示樹狀結構,表達進程間的相互關系

-g<群組名稱> 此參數的效果和指定"-G"參數相同,當亦能使用階段作業領導者的名稱來指定

g 顯示現行終端機下的所有進程,包括群組領導者的進程

-G<群組識別碼> 列出屬於該群組的進程的狀況,也可使用群組名稱來指定

h 不顯示標題列

-H 顯示樹狀結構,表示進程間的相互關系

-j或j 採用工作控制的格式顯示進程狀況

-l或l 採用詳細的格式來顯示進程狀況

L 列出欄位的相關信息

-m或m 顯示所有的執行緒

n 以數字來表示USER和WCHAN欄位

-N 顯示所有的進程,除了執行ps指令終端機下的進程之外

-p<進程識別碼> 指定進程識別碼,並列出該進程的狀況

   p<進程識別碼> 此參數的效果和指定"-p"參數相同,只在列表格式方面稍有差異

r 只列出現行終端機正在執行中的進程

-s<階段作業> 指定階段作業的進程識別碼,並列出隸屬該階段作業的進程的狀況

    s 採用進程信號的格式顯示進程狀況

S 列出進程時,包括已中斷的子進程資料

-t<終端機編號> 指定終端機編號,並列出屬於該終端機的進程的狀況

t<終端機編號> 此參數的效果和指定"-t"參數相同,只在列表格式方面稍有差異

-T 顯示現行終端機下的所有進程

-u<用戶識別碼> 此參數的效果和指定"-U"參數相同

u 以用戶為主的格式來顯示進程狀況

-U<用戶識別碼> 列出屬於該用戶的進程的狀況,也可使用用戶名稱來指定

U<用戶名稱> 列出屬於該用戶的進程的狀況

v 採用虛擬內存的格式顯示進程狀況

-V或V 顯示版本信息

-w或w 採用寬闊的格式來顯示進程狀況。

   x 顯示所有進程,不以終端機來區分

   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"參數相同

       -A 列出所有的行程

       -w 顯示加寬可以顯示較多的資訊

      -au 顯示較詳細的資訊

      -aux 顯示所有包含其他使用者的行程

linux上進程有5種狀態: 

1. 運行(正在運行或在運行隊列中等待) 

2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號) 

3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生) 

4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放) 

5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行) 

ps工具標識進程的5種狀態碼: 

D 不可中斷 uninterruptible sleep (usually IO) 

R 運行 runnable (on run queue) 

S 中斷 sleeping 

T 停止 traced or stopped 

Z 僵死 a defunct (」zombie」) process 

1、# ps aux //顯示所有正在內存中的程序

USER:該 process 屬於那個使用者賬號的

PID :該 process 的號碼

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

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

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

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

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

STAT:該程序目前的狀態,主要的狀態有

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

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

D: 無法中斷的休眠狀態 (通常 IO 的進程)

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

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

<: 高優先序的行程

N: 低優先序的行程

L: 有記憶體分頁分配並鎖在記憶體內 (實時系統或捱A I/O)

START:該 process 被觸發啟動的時間

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

COMMAND:該程序的實際指令

2、# ps -A 顯示進程信息

3、# ps -u work //顯示work進程用戶信息

4、# ps -ef //顯示所有命令,連帶命令行

5、# ps -l //將屬於自己這次登入的pid與相關信息顯示出來

F:代表這個程序的旗標 (flag), 4 代表使用者為 super user

S:代表這個程序的狀態 (STAT)

UID:程序被該 UID 所擁有

PID:就這個程序的 ID 

PPID:其上級父程序的ID

C:CPU使用的資源百分比

PRI: Priority (優先執行序) 的縮寫

NI: Nice 值

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

SZ:使用掉的內存大小

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

TTY:登入者的終端機位置

TIME:使用掉的 CPU 時間。

CMD:所下達的指令為何

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

6、其他

1)可以用 | 管道和 more 連接起來分頁查看

命令:ps -aux |more

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

命令:ps -aux > ps001.txt

3)輸出指定的欄位

命令:ps -o pid,ppid,pgrp,session,tpgid,comm

② Linux進程詳解

ps是Linux 中最基礎的瀏覽系統中的進程的命令。能列出系統中運行的進程,包括進程號、命令、CPU使用量、內存使用量等。接下來解讀一下Linux操作系統的進程和Windows「Ctrl+Alt+delete」直接的差異。

在進行了解進程命令之前需要知道進程的一些狀態

ps工具標識進程的5種狀態碼:

Linux操作系統進程執行的狀態轉換圖如圖所示:

下面來看一下 ps命令
ps --help命令可以查看ps命令的使用說明

或者使用 man ps命令 查詢ps的詳細說明

在 man手冊 關於ps的解讀中,總結了一下幾個參數的含義:

以上的參數是可以拼接使用的,那就了解一些常用的參數組合
ps aux命令

ps -ef命令

查看進程狀態這兩個是命令是最常用的,使用 ps aux 可以查看進程的詳細運行狀態等。使用 ps -ef 不僅可以顯示自身的PID,也可以顯示PPID(父進程)。但是顯示不了進程的運行狀態

top命令
top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器

man手冊關於top的解釋

關閉進程,重啟進程
在上一片文章中 linux的目錄結構 裡面說過,在目錄/etc/init.d/目錄下包含許多系統各種服務的啟動和停止腳本。假設進程佔用內存較大或者進程異常,我們是重啟這個進程restart。如下圖所示:

我們重啟了mysqld這個進程,可以看出進程號已經改變(從15743到15964),說明進程已經重啟。

Linux下有3個特殊的進程,idle進程(PID=0), init進程(PID=1)和kthreadd(PID=2)

我們來看一下進程狀態[下面是刪減版,進程數量太多,列舉一部分]

可以看到很多進程的PPID號是1和2。也就是init進程和kthreadd進程。

在使用Windows系統的過程中,都碰到過應用程序卡死的情況。應對此問題,我們一般都是等待失去響應的程序恢復,或者是直接使用任務管理器將其強制關閉,然後再重新打開。

在Linux中,遇到特別耗費資源的進程,當然需要使用 top命令 查看進程佔用率高的進程。或者使用 free -m命令 查看內存剩餘。假設需要強殺進程來釋放空間。我們涉及到Linux中信號📶的知識,在這里簡單的描述一下,信號的詳解會在接下來的文章裡面敘述。
free -m命令查看內存空間

在linux中存在著64種信號
使用 kill -l命令 查看信號列表

在前面說過進程會被這些個信號> (進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號強制停止運行) 那問題就在於如何發信號給這些個進程。
使用kill命令發信號

我們從上面可以看到 mysqld進程被重啟了 。

關於Linux的這一塊進程的知識還有很多,後面的文章跟大家分享僵屍進程,孤兒進程等等知識,以及守護進程(daemon進程).

③ linux命令中ps -ef是什麼意思

ps -ef表示查看全格式的全部進程。

ps是linux下最常用的也是非常強大的進程查看命令,常配合管道命令 | 和查找命令 grep 同時執行來查看特定進程。

參數含義:

-e 顯示所有進程。-f 全格式。-h 不顯示標題。-l 長格式。-w 寬輸出。a 顯示終端上的所有進程,包括其他用戶的進程。r 只顯示正在運行的進程。x 顯示沒有控制終端的進程。

(3)查看進程的命令ps擴展閱讀:

進程狀態:

R 運行,正在運行或在運行隊列中等待。

S 中斷,休眠中, 受阻, 在等待某個條件的形成或接受到信號。

D 不可中斷,收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生。

Z 僵死 ,進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放。

T 停止,進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行。

④ ps -ef是什麼意思呢

ps -ef用於查看全格式的全部進程,其中「ps」是在Linux中是查看進程的命令,「-e」參數代表顯示所有進程,「-f」參數代表全格式。

PS,是Linux系統命令之一,是在Linux中是查看進程的命令。ps查看正處於Running的進程,ps aux查看所有的進程。

linux的進程有5種狀態:

1、運行狀態(正在運行或在運行隊列中等待[就緒隊列])

2、中斷狀態(休眠中, 受阻, 在等待某個條件的形成或接受到信號)

3、不可中斷狀態(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生)

4、僵死狀態(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放)

5、停止狀態(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行)

(4)查看進程的命令ps擴展閱讀:

linux系統ps命令的所有參數功能:

-e:顯示所有進程。

-f:全格式。

-h:不顯示標題。

-l:長格式。

-w:寬輸出。

-a:顯示終端上的所有進程,包括其他用戶的進程。

-r:只顯示正在運行的進程。

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

-help:顯示幫助信息。

-version:顯示該命令的版本信息。

⑤ linux ps查看進程顯示的是用戶ID,不是用戶名是怎麼回事

使用ps命令時,發現部分用戶顯示的是用戶名,有些用戶顯示的是UID,例如nmon程序的運行時webmaster,但是ps顯示的不是直接顯示uid 500。

通過man發現:8位用戶名的賬戶能夠顯示完整的用戶名,9位用戶名的賬戶就顯示了UID使用下面的命令來解決;

ps -o ruser=userForLongName -e -o pid,ppid,c,stime,tty,time,cmd

注意:「userForLongName」是隨便填寫的,Linux會自動檢查此字元串的長度,為15,則15位以下的用戶名都可以正常顯示。

閱讀全文

與查看進程的命令ps相關的資料

熱點內容
java轉sql 瀏覽:701
android獲取apn 瀏覽:69
phpfpm進程池 瀏覽:791
解壓掏耳朵音頻 瀏覽:670
爬香山解壓 瀏覽:948
演算法導論回溯 瀏覽:339
開盤指標源碼查詢 瀏覽:526
有道雲保存伺服器出錯 瀏覽:639
生成360文件夾 瀏覽:1004
圖庫的文件夾是哪個 瀏覽:505
程序員為什麼葯學日語 瀏覽:423
熟悉linux常用命令 瀏覽:860
印度外賣小哥是程序員 瀏覽:413
紹興程序員開發駐場流程 瀏覽:546
索納塔8的壓縮比 瀏覽:16
私有雲主要伺服器 瀏覽:939
為什麼主題解壓那麼慢 瀏覽:862
怎麼下載掃描二維碼的手機app 瀏覽:729
雲伺服器創建私有鏡像的時候一定要關機嗎 瀏覽:117
php開發學習門戶 瀏覽:387