導航:首頁 > 程序命令 > ps命令中pid和ppid

ps命令中pid和ppid

發布時間:2023-03-06 00:44:02

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命令查看進程時,主要輸出項pid表示什麼,tty表示什麼

PID 進程編號 TTY 與進程關聯的終端
%CPU 進程的cpu佔用率
%MEM 進程的內存佔用率
VSZ 進程所使用的虛存的大小
RSS 進程使用的駐留集大小或者是實際內存的大小
TTY 與進程關聯的終端(tty)
STAT 檢查的狀態:進程狀態使用字元表示的,如R(running正在運行或准備運行)、S(sleeping睡眠)、I(idle空閑)、Z (僵死)、D(不可中斷的睡眠,通常是I/O)、P(等待交換頁)、W(換出,表示當前頁面不在內存)、N(低優先順序任務)T(terminate終止)、W has no resident pages
START (進程啟動時間和日期)
TIME ;(進程使用的總cpu時間)
COMMAND (正在執行的命令行命令)
NI (nice)優先順序
PRI 進程優先順序編號
PPID 父進程的進程ID(parent process id)
SID 會話ID(session id)
WCHAN 進程正在睡眠的內核函數名稱;該函數的名稱是從/root/system.map文件中獲得的。

③ 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 -o是什麼意思

ps命令的-o參數,是說明用戶自定義格式。比如-o pid= -o cmd= 就是讓ps命令分別顯示進程的pid和相應的命令和詳細參數,這樣ps命令就不會像默認的那樣顯示很多其他內容了,而只顯示你關心的部分。如下圖所示:

⑤ linux命令中ps -ef詳解

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

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

參數含義:

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

2、(5)ps命令中pid和ppid擴展閱讀:

進程狀態:

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

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

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

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

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

3、grep命令是查找

中間的|是管道命令 是指ps命令與grep同時執行

PS是LINUX下最常用的也是非常強大的進程查看命令

grep命令是查找,是一種強大的文本搜索工具,它能 使用正則表達式 搜索文本,並把匹配的行列印出來。

grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用許可權是所有用戶。

以下這條命令是檢查java 進程是否存在:ps -ef |grep java

欄位含義如下:

UID       PID       PPID      C     STIME    TTY       TIME         CMD

zzw      14124   13991      0     00:38      pts/0      00:00:00    grep --color=auto dae

UID      :程序被該 UID 所擁有

PID      :就是這個程序的 ID 

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

C          :CPU使用的資源百分比

STIME :系統啟動時間

TTY     :登入者的終端機位置

TIME   :使用掉的CPU時間。

CMD   :所下達的是什麼指令

ps -e|grep dae

⑥ 【ps】關於Linux ps命令的妙用

How to get all process ids without ps command on Linux?

On Linux, all running process have "metadata" stored in the  /proc filesystem .

# man  ps  

# ps -C sshd --no-header

# ps -C dockerd --no-header

-C cmdlist

Select by command name.  This selects the processes whose executable name is given in cmdlist.

you can use the long options --headers and --no-headers to enable printing headers each page or disable headers entirely, respectively.

#  ps -eo nlwp,pcpu,user,pid,ppid,args  --sort nlwp  

註:以 nlwp排序,默認正序

LWP -- 輕量級進程,即線程

NLWP --線程數,即 number of threads in process

#  ps -eo pid,cmd,%mem,%cpu --sort=-%mem

Thecommand is highly valuable for system admins ring troubleshooting the system. 

You can display the processes list in a sorted manner to find out the highest memory usage processes.

#  ps -mp   ${pid}    -o   THREAD,tid,time

參數解釋:

   -m:顯示所有的線程

   -p:pid進程使用CPU的時間

   -o:該參數後是用戶自定義格式。

  如:THREAD,tid,time表示線程、線程ID號、線程佔用的時間。

$ ps -Hp   ${pid}  

ps(1) — Linux manual page

https://man7.org/linux/man-pages/man1/ps.1.html

Linux PS command with examples

https://www.fosslinux.com/43296/linux-ps-command-with-examples.htm

How to get all process ids without ps command on Linux?

https://stackoverflow.com/questions/32913424/how-to-get-all-process-ids-without-ps-command-on-linux

What is the difference between ps and top command?

https://unix.stackexchange.com/questions/62176/what-is-the-difference-between-ps-and-top-command

⑦ linux 下查看進程用什麼命令

linux 下查看進程可以使用的命令:

1、ps命令查找與進程相關的PID號:

2、ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。

3、ps -A 顯示所有程序。

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

5、ps -e 此參數的效果和指定"A"參數相同。

6、ps e 列出程序時,顯示每個程序所使用的環境變數。

7、ps f 用ASCII字元顯示樹狀結構,表達程序間的相互關系。

8、ps -H 顯示樹狀結構,表示程序間的相互關系。

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

10、ps s 採用程序信號的格式顯示程序狀況。

11、ps S 列出程序時,包括已中斷的子程序資料。

12、ps -t<終端機編號> 指定終端機編號,並列出屬於該終端機的程序的狀況。

13、ps u 以用戶為主的格式來顯示程序狀況。

14、ps x 顯示所有程序,不以終端機來區分。

閱讀全文

與ps命令中pid和ppid相關的資料

熱點內容
程序員那麼可愛陸漓和姜逸城吻戲 瀏覽:800
android獲取窗口大小 瀏覽:178
程序員為世界帶來的貢獻 瀏覽:214
程序員招聘自薦信 瀏覽:693
魔獸鍵位設置命令宏 瀏覽:645
程序員沒有目標了 瀏覽:828
搶答器c程序編程 瀏覽:703
什麼app可以自己玩 瀏覽:76
刨客app是什麼 瀏覽:963
cad輸入命令欄不見了 瀏覽:834
做故事集可以用什麼app 瀏覽:692
qq郵箱發送壓縮包 瀏覽:672
程序員桌面機器人 瀏覽:589
xjr快速開發平台源碼 瀏覽:159
java介面runnable 瀏覽:31
python怎麼運行web伺服器 瀏覽:349
notepad編程代碼 瀏覽:740
什麼安卓的毛病最少 瀏覽:611
hp的pjl設備訪問命令 瀏覽:635
googlewebp圖片壓縮技術 瀏覽:215