溫馨提示×

溫馨提示×

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

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

Linux基礎(chǔ)命令ps的用法

發(fā)布時間:2021-08-31 17:51:49 來源:億速云 閱讀:173 作者:chen 欄目:建站服務(wù)器

這篇文章主要講解了“Linux基礎(chǔ)命令ps的用法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Linux基礎(chǔ)命令ps的用法”吧!

ps

ps指令可以顯示系統(tǒng)中當(dāng)前進(jìn)程的信息,它的輸出結(jié)果是高度可定制的。如果您希望重復(fù)更新所選內(nèi)容和顯示的信息,請使用top(1)代替。

請注意,“ps-aux”與“ps aux”不同。POSIX和UNIX標(biāo)準(zhǔn)要求“ps-aux”打印名為“x”的用戶擁有的所有進(jìn)程,以及打印由-a選項選擇的所有進(jìn)程。如果名為“x”的用戶不存在,此ps可以將命令解釋為“ps aux”,并打印警告。此行為旨在幫助轉(zhuǎn)換舊腳本和習(xí)慣。它是脆弱的,隨時可能發(fā)生變化,因此不應(yīng)依賴它。

默認(rèn)情況下,ps選擇所有具有相同有效用戶ID(EUID=EUID)的進(jìn)程作為當(dāng)前用戶,并與調(diào)用方相關(guān)聯(lián)的終端。它顯示進(jìn)程ID(PID=PID)、與進(jìn)程關(guān)聯(lián)的終端(tname=TTY)、[dd-]hh:mm:SS格式的累計CPU時間(time=TIME)和可執(zhí)行名稱(ucmd=CMD)。默認(rèn)情況下輸出未排序。

使用BSD樣式的選項將向默認(rèn)顯示中添加進(jìn)程狀態(tài)(stat=STAT),并顯示命令args(args=命令)而不是可執(zhí)行名稱。您可以使用PS_FORMAT環(huán)境變量重寫此操作。使用BSD樣式的選項還將更改流程選擇,以包括您擁有的其他終端(TTY)上的進(jìn)程;或者,這可以描述為將選擇設(shè)置為篩選的所有進(jìn)程的集合,以排除其他用戶擁有的進(jìn)程或終端上的進(jìn)程。當(dāng)選項被描述為“相同”時,不考慮這些影響,所以-M將被認(rèn)為與Z相同等等。

此命令的適用范圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

 

1、語法

ps [選項]

 

2、選項列表

選項

說明

--help

顯示幫助文檔

-V | V | --version

顯示命令版本

--info

顯示調(diào)試信息

L

列出所有的格式

簡單選項


-A | -e

選擇所有進(jìn)程

-N | --deselect

反向選擇不符合條件的

T

選擇符合的終端

-a

選擇除會話進(jìn)程和與終端無關(guān)的進(jìn)程以外的所有進(jìn)程。

a

此選項導(dǎo)致ps列出帶有終端(TTY)的所有進(jìn)程,或在與x選項一起使用時列出所有進(jìn)程。

-d

選擇所有進(jìn)程,忽略進(jìn)程所有者

g

全部的進(jìn)程,包含會話領(lǐng)導(dǎo)

r

將選擇限制為僅運行進(jìn)程。

x

此選項導(dǎo)致ps列出您擁有的所有進(jìn)程(與ps相同的EUID),或者在與a選項一起使用時列出所有進(jìn)程。

多個選項

這些選項以空白分隔或逗號分隔列表的形式接受單個參數(shù)。它們可以多次使用。

-Ccmdlist

按命令名選擇。這將選擇在cmdlist中給出可執(zhí)行名稱的進(jìn)程。

-Ggrplist

選擇進(jìn)程所屬的組id與給定list匹配的進(jìn)程              

Uuserlist

按有效用戶ID(EUID)或名稱選擇。有效用戶ID描述進(jìn)程使用其文件訪問權(quán)限的用戶

-Uuserlist

按實際用戶ID(RUID)或名稱進(jìn)行選擇。真正的用戶ID標(biāo)識創(chuàng)建進(jìn)程的用戶,

-ggrplist

按會話或有效組名選擇。

p pidlist

按進(jìn)程ID選擇。

-ppidlist

按進(jìn)程ID選擇。

-ssesslist

按照會話ID選擇

t ttylist

通過tty選擇。與-t和--tty幾乎相同,但也可以與空ttylist一起使用,以指示與ps關(guān)聯(lián)的終端。

-t ttylist

選擇指定的tty

-uuserlist

按有效用戶ID(EUID)或名稱選擇,等價于“U 和“--user”

--Groupgrplist

等價于“-G”

--Useruserlist

等價于“-U”

--groupgrplist

按有效組ID(EGID)或名稱選擇。有效組ID描述進(jìn)程使用其文件訪問權(quán)限的組。

--pidpidlist

等價于“-p”和“p”

-ppidppidlist

選擇父進(jìn)程id匹配的進(jìn)程

--sidsesslist

等價于“-s” 

--ttyttylist

等價于“-t”和“t”

--useruserlist

等價于“-u”和“U”

-123

等價于“--sid 123”

123

等價于“—pid 123”

 

3、輸出格式控制

格式

說明

-f | -F

輸出完整的格式。它還會導(dǎo)致輸出命令參數(shù)。當(dāng)與-L一起使用時,將添加NLWP(線程數(shù))和LWP(線程ID)列。

-Oformat

類似-o,但預(yù)加載了一些默認(rèn)列。等價于“-o pid,format,state,tname,time,command”或者“-o pid,format,tname,time,cmd

Oformat

預(yù)加載的o。當(dāng)用作格式設(shè)置選項時,它與-O完全相同,具有BSD個性。

-M

添加一列安全數(shù)據(jù)。

X

寄存器格式

Z

等價于“-M”

-c

顯示-l選項的不同調(diào)度程序信息。

j

BSD作業(yè)控制格式

-j

作業(yè)格式

l

BSD長格式

-l

長格式,經(jīng)常和“-y”一起使用

oformat

等價于“-o”和“--format”

-oformat

用戶定義格式。format是以空格分隔或逗號分隔的列表形式的單個參數(shù),它提供了一種指定單個輸出列的方法。標(biāo)頭可以按需要重命名(ps -o pid,ruser=RealUser -o comm=Command)。如果所有列標(biāo)題都是空的(ps -o pid= -o comm=),那么標(biāo)題行將不會被輸出。寬標(biāo)頭所需的列寬度將增加;這可用于擴展諸如WCHAN之類的列(ps -o pid,wchan=WIDE-WCHAN-COLUMN -o comm)。顯式寬度控制(ps opid,wchan:42,cmd)也被提供。ps -o pid=X,comm=Y的行為隨個性而變化,輸出可能是一個名為“X,comm=Y”的列,也可以是兩個名為“X”和“Y”的列。使用PS_FORMAT環(huán)境變量按需要指定默認(rèn)值;DefSysV和DefBSD是可用于選擇默認(rèn)UNIX或BSD列的宏。

s

顯示信號格式

u

以用戶為主的模式

v

以虛擬內(nèi)存為主的模式

-y

不顯示標(biāo)志位

-Z

顯示安全上下文格式

--formatformat

和“-o”一樣

--context

顯示安全上下文格式

 

4、輸出修飾符

修飾符

說明

-H

顯示進(jìn)程層次結(jié)構(gòu)

O order

排序,過時的操作

S

總結(jié)一些信息,如CPU使用情況,從死子進(jìn)程到父進(jìn)程。

c

顯示真正的命令名。這是從可執(zhí)行文件的名稱派生出來的,而不是從argv值派生的。因此,沒有顯示命令參數(shù)和對它們的任何修改

e

在命令之后顯示環(huán)境

f | --forest

ASCII格式的進(jìn)程層次結(jié)構(gòu)

h

沒有頭

k spec

指定排序順序,等價于“--sort”

-nnamelist  |  N namelist

正確的WCHAN顯示需要名稱列表文件,并且必須與當(dāng)前Linux內(nèi)核完全匹配才能得到正確的輸出。如果沒有此選項,則名稱列表的默認(rèn)搜索路徑是:

$PS_SYSMAP

$PS_SYSTEM_MAP

/proc/*/wchan

/boot/System.map-`uname -r`

/boot/System.map

/lib/modules/`uname -r`/System.map

/usr/src/linux/System.map

/System.map

n

WCHAN和User的數(shù)字輸出。(包括所有類型的UID和GID)

-w | w

寬輸出,對無限寬度使用此選項兩次

--cols n  |  --columns n |  --width n

設(shè)置屏幕寬度

--cumulative

包括一些死子進(jìn)程數(shù)據(jù)(作為父進(jìn)程的和)

--headers

重復(fù)頭行,每頁輸出一行

--no-headers

根本不打印標(biāo)題行

--lines n  |  --rows n

設(shè)置屏幕高度

--sort spec

排序。語法是“[+|-]key[,[+|-]key[,...]]”,例如,ps jax --sort=uid,-ppid,+pid

 

5、線程模式

線程模式

說明

H

把線程當(dāng)做進(jìn)程顯示

-L

顯示線程的LWP NLWP

-T

顯示線程的SPID

m | -m

在進(jìn)程之后顯示線程

 

6、說明

這個ps通過讀取“/proc”中的虛擬文件來工作。這個ps不需要是setuid kmem,也不需要有任何特權(quán)來運行。不要給這個ps任何特殊的權(quán)限。此ps需要訪問名稱列表數(shù)據(jù)以獲得正確的WCHAN顯示。對于2.6之前的內(nèi)核,必須安裝System.map文件。

CPU使用率當(dāng)前表示為進(jìn)程在整個生命周期中運行的時間百分比。CPU使用率不太可能達(dá)到100%。

SIZE和RSS字段不計算進(jìn)程的某些部分,包括頁表、內(nèi)核堆棧、結(jié)構(gòu)體thread_info和task_struct。這通常是至少20kb的內(nèi)存大小。SIZE是進(jìn)程的虛擬大小(代碼數(shù)據(jù)堆棧)。

標(biāo)記為“defunct”的進(jìn)程是死進(jìn)程(所謂的“僵尸”),因為它們的父進(jìn)程沒有正確地銷毀它們。如果父進(jìn)程退出,則init(8)將銷毀這些進(jìn)程。

如果用戶名的長度大于顯示列的長度,則將顯示數(shù)字用戶ID。

7、進(jìn)程標(biāo)志

這些值的和顯示在“F”列中,該列由標(biāo)志輸出說明符提供。

1,已經(jīng)fork,但是沒有執(zhí)行。

4,使用超級用戶權(quán)限。

8、進(jìn)程狀態(tài)碼

下面是s、stat和state輸出說明符(標(biāo)頭“stat”或“S”)將顯示的用于描述進(jìn)程狀態(tài)的不同值:

D,不間斷睡眠(通常為IO)。

R,正在運行或可運行(在運行隊列上)。

S,可中斷睡眠(等待事件完成)。

T,停止,要么是被作業(yè)控制信號阻止,要么是因為它正在被跟蹤。

W,分頁(自2.6.xx內(nèi)核以來無效)。

X,死了(不應(yīng)該被看見)。

Z,已停止(“僵尸”)進(jìn)程,終止但未由其父進(jìn)程收獲。

對于bsd格式和當(dāng)使用stat關(guān)鍵字時,可能會顯示其他字符:

<,高優(yōu)先級(對其他用戶不好)。

N,低優(yōu)先級(對其他用戶很好)。

L,將頁面鎖定在內(nèi)存中(用于實時和自定義IO)。

s,是會話。

l,是多線程的。

+,在前臺進(jìn)程組中。

 

9、AIX格式描述符

這個ps支持AIX格式描述符,它們的工作方式有點像printf(1)和printf(3)的格式代碼。例如,正常的默認(rèn)輸出可以這樣產(chǎn)生:ps -eo "%p %y %x %c

CODE     NORMAL    HEADER

%C       pcpu         %CPU

%G       group        GROUP

%P       ppid         PPID

%U       user          USER

%a       args          COMMAND

%c       comm        COMMAND

%g       rgroup      RGROUP

%n       nice         NI

%p       pid          PID

%r       pgid         PGID

%t       etime        ELAPSED

%u       ruser       RUSER

%x       time        TIME

%y       tty          TTY

%z       vsz         VSZ

10、標(biāo)準(zhǔn)格式說明符

以下是用于控制輸出格式(例如,使用選項-o)或使用GNU樣式的“--sort”序選項對所選進(jìn)程進(jìn)行排序的不同關(guān)鍵字。例如,“ps -eo pid,user,args --sort user”。這個版本的ps試圖識別大多數(shù)在ps的其他實現(xiàn)中使用的關(guān)鍵字。以下用戶定義的格式說明符可能包含空格:args, cmd, comm,command, fname, ucmd, ucomm, lstart, bsdstart, start。某些關(guān)鍵字可能無法用于排序。

CODE

HEADER

說明

%cpu

%CPU

進(jìn)程的CPU利用率為“#.#”格式。當(dāng)前,它是CPU時間除以進(jìn)程運行的時間(cputime/realtime比率),表示為百分比。除非你是幸運的,否則它不會達(dá)到100%。(別名pcpu)

%mem

%MEM

進(jìn)程的駐留集大小與機器上物理內(nèi)存的比率,以百分比表示。(別名PMEM)

args

COMMAND

命令,它的所有參數(shù)都是字符串??梢燥@示對參數(shù)的修改。該列中的輸出可能包含空格。標(biāo)記為“已失效”的進(jìn)程部分死亡,等待其父進(jìn)程完全銷毀。有時進(jìn)程args將不可用;當(dāng)發(fā)生這種情況時,ps將可執(zhí)行文件的名稱打印在括號中。(別名cmd,命令)。

當(dāng)最后指定該列時,該列將擴展到顯示的邊緣。如果ps不能確定顯示寬度,例如當(dāng)輸出被重定向(管道)到一個文件或另一個命令時,輸出寬度是未定義的。(它可以是80,無限,TERM等決定)環(huán)境變量COLUMNS或-cols選項可以用于精確地確定這種情況下的寬度。w-w選項也可用于調(diào)整寬度。

blocked

BLOCKED

blocked信號掩碼。根據(jù)字段的寬度,以十六進(jìn)制格式顯示32位或64位掩碼。(別名sig_block, sigmask)。

bsdstart

START

命令開始的時間。如果進(jìn)程在24小時前啟動,則輸出格式為“hh:mm”,否則為“mmm dd”(其中mmm是月份的三個字母)。

bsdtime

TIME

用戶和系統(tǒng)的累積CPU時間,。顯示格式通常為“mmm:ss”,但如果進(jìn)程占用的cpu時間超過999分鐘,則可以移到右邊。

c

C

處理器利用率當(dāng)前,這是進(jìn)程生存期內(nèi)使用百分比的整數(shù)值。(見%cpu)。

caught

CAUGHT

捕獲信號的掩碼,見信號(7)。根據(jù)字段的寬度,以十六進(jìn)制格式顯示32或64位掩碼。(別名sig_catchsigcatch)

cgroup

CGROUP

顯示進(jìn)程所屬的控制組。

class

CLS

進(jìn)程的調(diào)度類。(別名policycls)。字段的可能值是:

-        not reported

TS  SCHED_OTHER

FF  SCHED_FIFO

RR  SCHED_RR

B   SCHED_BATCH

ISO SCHED_ISO

IDL SCHED_IDLE

?   unknown value

cls

CLS

class

cmd

CMD

args

comm

COMMAND

命令名(只有可執(zhí)行的名稱)。將不會顯示對命令名的修改。標(biāo)記為“已失效”的進(jìn)程部分死亡,等待其父進(jìn)程完全銷毀。該列中的輸出可能包含空格。(別名ucmd,ucomm)。

當(dāng)最后指定該列時,該列將擴展到顯示的邊緣。如果ps不能確定顯示寬度,例如當(dāng)輸出被重定向(管道)到一個文件或另一個命令時,輸出寬度是未定義的(它可以是80,無限,TERM)。COLUMNS環(huán)境變量或--cols選項可以用于精確地確定這種情況下的寬度。w-w選項也可用于調(diào)整寬度。

command

COMMAND

同args

cp

CP

CPU使用率/ms

cputime

TIME

累計CPU時間,"[DD-]HH:MM:SS"格式。(別名time)。

egid

EGID

進(jìn)程的有效組ID數(shù)為十進(jìn)制整數(shù)。(別名gid)。

egroup

EFROUP

進(jìn)程的有效組ID。如果可以獲得并且字段寬度允許,這將是文本組ID,否則將是十進(jìn)制表示。(別名group)。

eip

EIP

指令指針

esp

ESP

棧指針

etime

ELAPSED

自進(jìn)程啟動以來,以[dd-]hh:]mm:SS形式運行的時間。

euid

EUID

有效用戶ID,別名uid

euser

EUSER

有效用戶名。如果可以獲得并且字段寬度允許,這將是文本用戶ID,否則將是十進(jìn)制表示。n選項可用于強制十進(jìn)制表示。(別名uname,user)。

f

F

與進(jìn)程關(guān)聯(lián)的標(biāo)志,請參閱流程標(biāo)志部分。(別名flagflags)。

fgid

FGID

文件系統(tǒng)訪問組ID。(別名fsgid)。

fgroup

FGROUP

文件系統(tǒng)訪問組ID。如果可以獲得并且字段寬度允許,這將是文本用戶ID,否則將是十進(jìn)制表示。(別名fsgroup)

flag

F

f

flags

F

f

fname

COMMAND

進(jìn)程可執(zhí)行文件的基名的前8個字節(jié)。該列中的輸出可能包含空格。

fuid

FUID

文件系統(tǒng)訪問用戶ID。(別名fsuid)。

fuser

FUSER

文件系統(tǒng)訪問用戶ID。如果可以獲得并且字段寬度允許,這將是文本用戶ID,否則將是十進(jìn)制表示。

gid

GID

egid

group

GROUP

egroup

ignored

IGNORED

被忽略的信號的掩碼,根據(jù)字段的寬度,以十六進(jìn)制格式顯示32位或64位掩碼。(別名sig_ignoresigignore)

label

LABEL

安全標(biāo)簽,最常用于SELinux上下文數(shù)據(jù)。這是針對在高安全系統(tǒng)上發(fā)現(xiàn)的強制訪問控制(“MAC”)。

lstart

STARTED

命令開始的時間。

lwp

LWP

正在報告的LWP(輕量過程或線程)ID。(別名spid,tid)

ni

NI

nice值,范圍從19(最好)到-20(對他人不友好)。 (別名nice)。

nice

NI

ni

nlwp

NLWP

進(jìn)程中的lwps(線程)數(shù)。(別名thcount)。

nwchan

WCHAN

進(jìn)程處于休眠狀態(tài)的內(nèi)核函數(shù)的地址(如果需要內(nèi)核函數(shù)名稱,請使用wchan)。正在運行的任務(wù)將在本列中顯示一個破折號(‘-’)。

pcpu

%CPU

%cpu

pending

PENDING

掛起信號的掩碼。進(jìn)程上掛起的信號不同于單個線程上的待決信號。使用m選項或-m選項查看兩者。根據(jù)字段的寬度,以十六進(jìn)制格式顯示32位或64位掩碼。(別名sig)。

pgid

PGID

進(jìn)程組ID或相應(yīng)的流程組領(lǐng)導(dǎo)的進(jìn)程ID。(別名pgrp)。

pgrp

PGRP

pgid

pid

PID

進(jìn)程的進(jìn)程ID號

pmem

%MEM

%mem

policy

POL

cls

ppid

PPID

父進(jìn)程id

psr

PSR

進(jìn)程當(dāng)前分配給的處理器。

rgid

RGID

真實的組id

rgroup

RGROUP

真正的組名。如果可以獲得并且字段寬度允許,這將是文本組ID,否則將是十進(jìn)制表示。

rip

RIP

64位指令指針。

rsp

RSP

64位棧指針。

rss

RSS

駐留集大小,任務(wù)使用的非交換物理內(nèi)存(以千字節(jié)為單位)。(別名rssizersz)。

 

rssize

RSS

同rss

rsz

RSZ

同rss

rtprio

RTPRIO

實時優(yōu)先級

ruid

RUID

實際用戶ID

ruser

RUSER

真實的用戶ID。如果可以獲得并且字段寬度允許,這將是文本用戶ID,否則將是十進(jìn)制表示。

s

S

最小狀態(tài)顯示(一個字符)。

sched

SCH

進(jìn)程的調(diào)度策略。策略SCHED_OTHER(SCHED_Normal)、SCHED_FIFO、SCHED_RR、SCHED_BATCH、SCHED_ISO和SCHED_IDELL分別顯示為0、1、2、3、4和5。

sess

SESS

會話ID或等效的會話領(lǐng)導(dǎo)的進(jìn)程ID。(別名session,sid)。

sgi_p

P

進(jìn)程當(dāng)前正在執(zhí)行的處理器。如果進(jìn)程當(dāng)前未運行或無法運行,則顯示“*”。

sgid

SGID

保存的組ID。(別名svgid)

sgroup

SGROUP

保存的組名。如果可以獲得并且字段寬度允許,這將是文本組ID,否則將是十進(jìn)制表示。

sid

SID

sess

sig

PENDING

pending

sigcatch

CAUGHT

caught

sigignore

IGNORED

ignored

sigmask

BLOCKED

blocked

size

SZ

如果進(jìn)程要臟所有可寫頁,然后交換掉,則需要交換大約的交換空間。這個數(shù)字很粗糙!

spid

SPID

同lwp

stackp

STACKP

進(jìn)程堆棧的底部(開始)地址

start

STARTED

命令開始的時候。如果進(jìn)程在24小時前啟動,則輸出格式為“hh:mm:ss”,否則為“mmm dd”(其中mmm是三個字母的月份名稱)。

start_time

START

進(jìn)程的開始時間或日期。只有進(jìn)程未啟動的年份(即調(diào)用ps的年份)或“mmmdd”(如果進(jìn)程未在同一天啟動)或“hh:mm”將顯示。

stat

STAT

多字符進(jìn)程狀態(tài)。有關(guān)不同值的含義,請參見處理狀態(tài)代碼一節(jié)。如果只希望顯示第一個字符,請參見sstate。

state

S

同s

suid

SUID

保存的用戶ID。(別名svuid)。

suser

SUSER

保存的用戶名。如果可以獲得并且字段寬度允許,這將是文本用戶ID,否則將是十進(jìn)制表示。(別名svuser)

svgid

SVGID

sgid

svuid

SVUID

suid

sz

SZ

進(jìn)程核心圖像的物理頁面大小。這包括文本、數(shù)據(jù)和堆棧空間。當(dāng)前排除了設(shè)備映射;這可能會發(fā)生更改。參見vszrss。

thcount

THCNT

nlwp

tid

TID

lwp

time

TIME

統(tǒng)計CPU時間,"[DD-]HH:MM:SS"格式。(別名cputime)。

tname

TTY

控制TY(終端)(別名tt,tty)。

tpgid

TPGID

進(jìn)程連接到的TTY(終端)上的前臺進(jìn)程組的ID,如果進(jìn)程沒有連接到TTY,則為-1。

tt

TT

tname

tty

TT

tname。

ucmd

CMD

comm。

ucomm

COMMAND

comm。

uid

UID

euid

uname

USER

euser。

user

USER

euser。

vsize

VSZ

vsz

vsz

VSZ

進(jìn)程的虛擬內(nèi)存大小(1024字節(jié)單位)。當(dāng)前排除了設(shè)備映射;這可能會發(fā)生更改。(別名vsize)。

wchan

WHAN

進(jìn)程處于休眠狀態(tài)的內(nèi)核函數(shù)的名稱,如果進(jìn)程正在運行,則為“-”,如果進(jìn)程是多線程且ps不顯示線程,則為“*”。

11、環(huán)境變量

下面的環(huán)境變量會影響ps的行為:

COLUMNS,覆蓋默認(rèn)的寬度。

LINES,覆蓋默認(rèn)的高度。

PS_PERSONALITY,設(shè)置為POSIX中的一個,old,linux,bsd,sun,digital。

CMD_ENV,設(shè)置為POSIX中的一個,old,linux,bsd,sun,digital。

I_WANT_A_BROKEN_PS,解釋過時命令。

LC_TIME,日期格式。

PS_COLORS,現(xiàn)在還不支持。

PS_FORMAT,默認(rèn)輸出格式覆蓋。

PS_SYSMAP,默認(rèn)名稱列表(System.map)位置。

PS_SYSTEM_MAP,默認(rèn)名稱列表(System.map)位置。

POSIXLY_CORRECT,不要找借口忽視不好的“特性”。

POSIX2,當(dāng)設(shè)置為“on”時,充當(dāng)POSIXLY_TRIDER。

UNIX95,不要找借口忽視不好的“特性”。

_XPG,取消CMD_ENV=irix非標(biāo)準(zhǔn)行為。

一般來說,設(shè)置這些變量是個壞主意。一個例外是CMD_ENV或PS_PERSONALITY,對于正常系統(tǒng),可以將它們設(shè)置為Linux。如果沒有這種設(shè)置,PS就會遵循Unix 98標(biāo)準(zhǔn)中無用的和壞的部分。

12、例子代碼

若要使用標(biāo)準(zhǔn)語法查看系統(tǒng)上的每個進(jìn)程,請執(zhí)行以下操作:

ps -e

ps -ef

ps -eF

ps –ely

若要使用BSD語法查看系統(tǒng)上的每個進(jìn)程,請執(zhí)行以下操作:

ps ax

ps ax

打印進(jìn)程樹

ps -ejH

ps axjf

獲取線程信息

ps -eLf

ps axm

獲取安全信息

ps -eo euser,ruser,suser,fuser,f,comm,label

ps axZ

ps –eM

若要以用戶格式將每個進(jìn)程作為根進(jìn)程運行(實際有效ID),請執(zhí)行以下操作:

ps -U root -u root

要使用用戶定義的格式查看每個進(jìn)程:

ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm

ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm

ps -eopid,tt,user,fname,tmout,f,wchan

只打印進(jìn)程sislogdPID

ps -C syslogd -o pid=

只打印PID42的進(jìn)程名字

ps -p 42 -o comm=

 

13、實例

1)顯示所有用戶的所有進(jìn)程信息 

[root@localhost ~]# ps -aux

Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ

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

root         1  0.0  0.0   2900  1504 ?        Ss   Sep19  0:00 /sbin/init

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

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

root         4  0.0  0.0      0     0 ?        S    Sep19  0:02 [ksoftirqd/0]

root         5  0.0  0.0      0     0 ?        S    Sep19  0:00 [migration/0]

root         6  0.0  0.0      0     0 ?        S    Sep19  0:02 [watchdog/0]

。。。

david     7226  0.0  0.1  50856  3020 ?        Sl   06:32  0:00 /usr/bin/gnome-keyring-daemon --dae

david     7238  0.0  0.3  32944  6244 ?        Ssl  06:32  0:00 gnome-session

david     7246  0.0  0.0   3664   760 ?        S    06:32  0:00 dbus-launch --sh-syntax --exit-with

david     7247  0.0  0.0   3396  1316 ?        Ss   06:32  0:00 /bin/dbus-daemon --fork --print-pid

david     7306  0.0  0.0  19200   364 ?        S    06:32  0:00 /usr/bin/VBoxClient --display

david     7308  0.0  0.0  19200  1080 ?        S    06:32  0:00 /usr/bin/VBoxClient --display

david     7312  0.0  0.0  19200   360 ?        S    06:32  0:00 /usr/bin/VBoxClient --seamless

david     7314  0.0  0.0  20884  1188 ?        Sl   06:32  0:00 /usr/bin/VBoxClient --seamless

david     7318  0.0  0.0  19200   360 ?        S    06:32  0:00 /usr/bin/VBoxClient --draganddrop

david     7320  0.1  0.0  21400  1296 ?        Sl   06:32  0:07 /usr/bin/VBoxClient --draganddrop

david     7343  0.0  0.2  10712  4624 ?        S    06:32  0:00 /usr/libexec/gconfd-2

。。。

2)顯示用戶david的進(jìn)程信息 

[root@localhost ~]# ps -u david

  PID TTY          TIME CMD

 7226 ?       00:00:00 gnome-keyring-d

 7238 ?       00:00:00 gnome-session

 7246 ?       00:00:00 dbus-launch

 7247 ?       00:00:00 dbus-daemon

 7306 ?       00:00:00 VBoxClient

感謝各位的閱讀,以上就是“Linux基礎(chǔ)命令ps的用法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Linux基礎(chǔ)命令ps的用法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

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

AI