十二 个经典 Linux 进程管理命令介绍
From:http://blog.chinaunix.net/uid-25681671-id-3201927.html
進程和作業管理命令:http://man.linuxde.net/sub/進程和作業管理
Linux 關于 進程/線程 的命令
kill 和 pgrep 和 pidof 和 awk 和 pkill 和 killall:https://blog.csdn.net/freeking101/article/details/53445749
簡介
Linux中的ps命令是Process Status的縮寫。ps命令用來列出系統中當前運行的那些進程。ps命令列出的是當前那些進程的快照,就是執行ps命令的那個時刻的那些進程,如果想要動態的顯示進程信息,就可以使用top命令。要對進程進行監測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而 ps 命令就是最基本同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等??傊蟛糠中畔⒍际强梢酝ㄟ^執行該命令得到的。
ps 為我們提供了進程的一次性的查看,它所提供的查看結果并不動態連續的;如果想對進程時間監控,應該用 top 或者 htop 。
kill 命令用于殺死進程。
十二 個經典 Linux 進程管理命令介紹
ps、pstree、top、htop、nice、renice、kill、ulimit、w 和 who 和 whoami、pgrep、fg 和 bg、ipcs
ps
ps 是 Linux 中最基礎的瀏覽系統中的進程的命令。
能列出系統中運行的進程,包括進程號、命令、CPU使用量、內存使用量等
ps -a - 列出所有運行中/激活進程
ps -ef |grep - 列出需要進程
ps -aux - 顯示進程信息,包括無終端的(x)和針對用戶(u)的進程:如USER, PID, %CPU, %MEM等
pstree
linux中,每一個進程都是由其父進程創建的。pstree以可視化方式顯示進程,通過顯示進程的樹狀圖來展示進程間關系。
如果指定了pid了,那么樹的根是該pid,不然將會是init(pid: 1)。
top
top 是一個更加有用的命令,可以監視系統中不同的進程所使用的資源。它提供實時的系統狀態信息。
顯示進程的數據包括 PID、進程屬主、優先級、%CPU、%memory等??梢允褂眠@些顯示指示出資源使用量。
htop
htop與top很類似,但是htop是交互式的文本模式的進程查看器。
它通過文字圖形化地顯示每一個進程的CPU和內存使用量、swap使用量。
使用上下光標鍵選擇進程,F7和F8改變優先級,F9殺死進程。Htop不是系統默認安裝的,所以需要額外安裝
nice
通過nice命令的幫助,用戶可以設置和改變進程的優先級。提高一個進程的優先級,內核會分配更多CPU時間片給這個進程。
默認情況下,進程以0的優先級啟動。進程優先級可以通過top命令顯示的NI(nice value)列查看。
進程優先級值的范圍從-20到19。值越低,優先級越高。
nice <優先值> <進程名> - 通過給定的優先值啟動一個程序
renice
renice命令類似nice命令。使用這個命令可以改變正在運行的進程優先值。
注意,用戶只能改變屬于他們自己的進程的優先值。
renice -n -p - 改變指定進程的優先值
renice -u -g - 通過指定用戶和組來改變進程優先值
kill
這個命令用于發送信號來結束進程。如果一個進程沒有響應殺死命令,這也許就需要強制殺死,使用-9參數來執行。
注意,使用強制殺死的時候一定要小心,因為進程沒有時機清理現場,也許寫入文件沒有完成。
如果我們不知道進程PID或者打算用名字殺死進程時候,killall就能派上用場。
kill <pid>
kill -9 <pid>
killall -9 - 殺死所有擁有同樣名字的進程
如果你使用kill,你需要知道進程ID號。pkill是類似的命令,但使用模式匹配,如進程名,進程擁有者等。
pkill <進程名>
ulimit
-f - 最大文件尺寸大小
-v - 最大虛擬內存大小(KB)
-n - 增加最大文件描述符數量
-H : 改變和報告硬限制
-S : 改變和報告軟限制
該命令用于控制系統資源在shell和進程上的分配量。
對于系統管理員是最有用的,可以管理重度使用和存在性能問題的系統。
限制資源大小可以確保重要進程持續運行,其他進程不會占用過多資源。
ulimit -a - 顯示當前用戶關聯的資源限制
w
提供當前登錄的用戶及其正在執行的進程的信息。
顯示信息頭包含信息,如當前時間、系統運行時長、登錄用戶總數、過去的1,5,15分鐘內的負載均衡數。
基于這些用戶信息,用戶在終止不屬于他們的進程時要小心。
who
是和 w 類似命令,提供當前登錄用戶列表、系統啟動時間、運行級別等。
whoami 命令輸出當前用戶ID
pgrep
pgrep的意思是”進程號全局正則匹配輸出”。
該命令掃描當前運行進程,然后按照命令匹配條件列出匹配結果到標準輸出。對于通過名字檢索進程號是很有用。
pgrep -u mint sh
這個命令將會顯示用戶為‘mint’和進程名為‘sh’的進程ID。
fg , bg
有時,命令需要很長的時間才能執行完成。對于這種情況,我們使用‘bg’命令可以將任務放在后臺執行,而用‘fg’可以調到前臺來使用。
我們可以通過‘&’在后臺啟動一個程序:
find . -name *iso > /tmp/res.txt &
一個正在運行的程序也可以通過“CTRL+Z”和“bg”命令組合放到后臺運行。
find . -name *iso > /tmp/res.txt & - 啟動一個程序
ctrl+z - 掛起當前執行程序
bg - 將程序放到后臺運行
我們可以使用‘jobs’命令列出所有后臺進程。
jobs
使用‘fg’命令可以將后臺程序調到前臺執行。
fg %進程id
ipcs
ipcs命令報告進程間通信設施狀態。(共享內存,信號量和消息隊列)
用-p參數聯合-m、-s或-q使用,可以獲得相關的進程間通信的進程ID。
ipcs -p -m
linux上進程有5種狀態
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
ps命令支持三種使用的語法格式
三種語法格式
1.UNIX 風格,選項可以組合在一起,并且選項前必須有“-”連字符
2.BSD 風格,選項可以組合在一起,但是選項前不能有“-”連字符
3.GNU 風格的長選項,選項前有兩個“-”連字符
能夠混用這幾種風格,但是可能會發生沖突。較多使用 UNIX 風格的ps命令。
日常生活中使用的ps命令的例子(UNIX 風格)。
1. 不加參數執行ps命令. 這是一個基本的 ps 使用
2. 顯示所有當前進程. 使用 -a 參數。-a 代表 all。同時加上x參數會顯示沒有控制終端的進程。ps -ax | less
3. 根據用戶過濾進程. 在需要查看特定用戶進程的情況下,我們可以使用 -u 參數。
比如我們要查看用戶'pungki'的進程,可以通過下面的命令: $ ps -u pungki
4. 通過cpu和內存使用來過濾進程. ps -aux | less 默認的結果集是未排序的。
可以通過 --sort命令來排序。. 根據 CPU 使用來升序排序. ps -aux --sort -pcpu | less
根據 內存使用 來升序排序 .ps -aux --sort -pmem | less
ps -aux --sort -pcpu,+pmem | head -n 10
5. 通過進程名和PID過濾
使用 -C 參數,后面跟你要找的進程的名字。比如想顯示一個名為getty的進程的信息,就可以使用下面的命令:
$ ps -C getty
如果想要看到更多的細節,我們可以使用-f參數來查看格式化的信息列表:$ ps -f -C getty
6. 根據線程來過濾進程. 如果我們想知道特定進程的線程,可以使用-L 參數,后面加上特定的PID。$ ps -L 1213
7. 樹形顯示進程. 有時候我們希望以樹形結構顯示進程,可以使用 -axjf 參數。 $ps -axjf. 或者使用另一個命令:pstree
8. 顯示安全信息. 如果想要查看現在有誰登入了你的服務器。可以使用ps命令加上相關參數:$ ps -eo pid,user,args
參數 -e 顯示所有進程信息,-o 參數控制輸出。Pid,User 和 Args參數顯示PID,運行應用的用戶和該應用。
9. 格式化輸出root用戶(真實的或有效的UID)創建的進程
系統管理員想要查看由root用戶運行的進程和這個進程的其他相關信息時,可以通過下面的命令:
$ ps -U root -u root u
-U 參數按真實用戶ID(RUID)篩選進程,它會從用戶列表中選擇真實用戶名或 ID。真實用戶即實際創建該進程的用戶。
-u 參數用來篩選有效用戶ID(EUID)。
最后的u參數用來決定以針對用戶的格式輸出,由User, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME 和 COMMAND這幾 列組成。
10. 使用PS實時監控進程狀態. ps 命令會顯示你系統當前的進程狀態,但是這個結果是靜態的。
當有一種情況,我們需要像上面第四點中提到的通過CPU和內存的使用率來篩選進程,并且我們希望結果能夠每秒刷新一次。
為此,我們可以將ps命令和watch命令結合起來。$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu’
如果輸出太長,我們也可以限制它,比如前20條,我們可以使用head命令來做到。
$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu | head 20’
這里的動態查看并不像top或者htop命令一樣。但是使用ps的好處是你能夠定義顯示的字段,你能夠選擇你想查看的字段。
舉個例子,如果你只需要看名為'pungki'用戶的信息,你可以使用下面的命令:
$ watch -n 1 ‘ps -aux -U pungki u --sort -pmem, -pcpu | head 20’
一些參數和使用實例
一些參數
-A 列出所有的進程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
############################################################
常用參數:
-A 顯示所有進程(等價于-e)(utility)
-a 顯示一個終端的所有進程,除了會話引線
-N 忽略選擇。
-d 顯示所有進程,但省略所有的會話引線(utility)
-x 顯示沒有控制終端的進程,同時顯示各個命令的具體路徑。dx不可合用。(utility)
-p pid 進程使用cpu的時間
-u uid or username 選擇有效的用戶id或者是用戶名
-g gid or groupname 顯示組的所有進程。
U username 顯示該用戶下的所有進程,且顯示各個命令的詳細路徑。如:ps U zhang;(utility)
-f 全部列出,通常和其他選項聯用。如:ps -fa or ps -fx and so on.
-l 長格式(有F,wchan,C 等字段)
-j 作業格式
-o 用戶自定義格式。
v 以虛擬存儲器格式顯示
s 以信號格式顯示
-m 顯示所有的線程
-H 顯示進程的層次(和其它的命令合用,如:ps -Ha)(utility)
e 命令之后顯示環境(如:ps -d e; ps -a e)(utility)
h 不顯示第一行
使用實例
############################################################
ps命令常用用法(方便查看系統進程)
1)ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
2)ps -A 顯示所有進程。
3)ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
4)ps -e 此參數的效果和指定"A"參數相同。
5)ps e 列出程序時,顯示每個程序所使用的環境變量。
6)ps f 用ASCII字符顯示樹狀結構,表達程序間的相互關系。
7)ps -H 顯示樹狀結構,表示程序間的相互關系。
8)ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
9)ps s 采用程序信號的格式顯示程序狀況。
10)ps S 列出程序時,包括已中斷的子程序資料。
11)ps -t<終端機編號> 指定終端機編號,并列出屬于該終端機的程序的狀況。
12)ps -u root 顯示root用戶信息
13)ps x 顯示所有程序,不以終端機來區分。
最常用的方法是ps -aux,然后再利用一個管道符號導向到grep去查找特定的進程,然后再對特定的進程進行操作。
############################################################
實例3:顯示所有進程信息,連同命令行
命令:ps -ef
實例4:ps 與grep 常用組合用法,查找特定進程
命令:ps -ef|grep ssh
實例5:將目前屬于您自己這次登入的 PID 與相關信息列示出來
命令:ps -l
說明:
各相關信息的意義:
F 代表這個程序的旗標 (flag), 4 代表使用者為 super user
S 代表這個程序的狀態 (STAT),關于各 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:列出目前所有的正在內存當中的程序
命令: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) 喚醒。
T :該程序目前正在偵測或者是停止了
Z :該程序應該已經終止,但是其父程序卻無法正常的終止他,造成 zombie (疆尸) 程序的狀態
START:該 process 被觸發啟動的時間
TIME :該 process 實際使用 CPU 運作的時間
COMMAND:該程序的實際指令
實例7:列出類似程序樹的程序顯示
命令:ps -axjf
實例8:找出與 cron 與 syslog 這兩個服務有關的 PID 號碼
命令:ps aux | egrep '(cron|syslog)'
3. 輸出指定的字段
命令:ps -o pid,ppid,pgrp,session,tpgid,comm
BSD風格:在BSD風格的語法選項前不帶連字符。例如: ps aux
UNIX/LINUX的風格:在linux風格的語法選項前面有一個破折號.例如: ps -ef
混合使用兩種Linux系統上的語法風格是好事兒。例如“ps ax -f”。
1、顯示所有進程:
$ ps ax
$ ps -ef
"u"或者"-f"參數來顯示所有進程的詳細信息
$ ps aux
$ ps -ef -f
注意:為什么用戶列不顯示我的用戶名,但顯示其他用戶,如root、www等,對于所有的用戶名(包括你)如果長度大于8個字符,然后ps將只顯示UID,而不是用戶名。
2、根據用戶顯示進程:
由進程的所屬用戶使用“-u”選項后跟用戶名來顯示。多個用戶名可以提供以逗號分隔。
$ ps -f -u www-data
3、通過名字和進程ID顯示進程:
通過名字或命令搜索進程,使用“-C”選項后面加搜索詞。
$ ps -C apache2
4、根據CPU或者內存進行排序:
“–sort”選項由逗號分隔的多個字段可以用指定。此外,該字段可以帶有前綴“-”或“”符號,表示降序或升序分別排序。通過進程列表進行排序有很多參數,你可以檢查手冊頁的完整列表。
$ ps aux --sort=-pcpu,+pmem
$ ps aux --sort=-pcpu | head -5
5、用樹的風格顯示進程的層次關系:
許多進程實際上是一些父進程分的分支,知道這父子進程關系往往是有用的。在'–forest'選項將建立ASCII藝術風格層次的樹視圖。
下面的命令將搜索進程名字為Apache2,形成一個樹結構來顯示詳細的信息。
$ ps -f --forest -C apache2
6、顯示一個父進程的子進程:
這里有一個例子顯示所有apache進程的分支
$ ps -o pid,uname,comm -C apache2
7、顯示一個進程的線程:
“-L”選項將顯示進程的線程。它可以用來顯示特定進程的所有線程或者所有進程。
下面的命令將顯示所有id為3150的進程所擁有的線程。
$ ps -p 3150 -L
8、改變要顯示的列:
ps命令可以配置為只顯示選中的列表。為了顯示完整列表可以查看手冊。
下面的命令只顯示PID,用戶名,CPU,內存和命令的列。
$ ps -e -o pid,uname,pcpu,pmem,comm
可以重命名列標簽,相當的靈活。
$ ps -e -o pid,uname=USERNAME,pcpu=CPU_USAGE,pmem,comm
9、顯示進程運行的時間:
表示進程的運行時間。對于運行的時間,列默認情況下是不顯示的,可以使用“-O”選項查看。
$ ps -e -o pid,comm,etime
10、把ps命令變成一個實時查看器:
像往常一樣,watch命令可以用來實時捕捉ps顯示進程。簡單的例子如下:
$ watch -n 1 'ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -15'
要對系統中進程進行監測控制,查看狀態,內存,CPU的使用情況,使用命令:/bin/ps
(1) ps :是顯示瞬間進程的狀態,并不動態連續;
(2) top:如果想對進程運行時間監控,應該用 top 命令;
(3) kill 用于殺死進程或者給進程發送信號;
(4) 查看文章最后的man手冊,可以查看ps的每項輸出的含義,to find: STANDARD FORMAT SPECIFIERS
===================================ps 的參數說明=============================
l 長格式輸出;
u 按用戶名和啟動時間的順序來顯示進程;
j 用任務格式來顯示進程;
f 用樹形格式來顯示進程;
a 顯示所有用戶的所有進程(包括其它用戶)。顯示所有進程
-a 顯示同一終端下的所有程序
x 顯示無控制終端的進程;
r 顯示運行中的進程;
ww 避免詳細參數被截斷;
-A 列出所有的進程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的進程
-e 顯示所有進程,環境變量
-f 全格式
-h 不顯示標題
-l 長格式
-w 寬輸出
a 顯示終端上地所有進程,包括其他用戶地進程
r 只顯示正在運行地進程
x 顯示沒有控制終端地進程
我們常用的選項是組合是 aux 或 lax,還有參數 f 的應用。
pids 只列出進程標識符,之間運用逗號分隔.該進程列表必須在命令行參數地最后一個選項后面緊接著給出,中間不能插入空格.比如:ps -f1,4,5 顯示的是進程ID為1,4,5的進程
下介紹長命令行選項,這些選項都運用“--”開頭:
--sort X[+|-] key [,[+|-] key [,…]] 從SORT KEYS段中選一個多字母鍵.“+”字符是可選地,因為默認地方向就是按數字升序或者詞典順序,“-”字符是逆序排序(即降序).
比如: ps -jax -sort=uid,-ppid,+pid.
--help 顯示幫助信息.
--version 顯示該命令地版本信息.
在前面地選項說明中提到了排序鍵,接下來對排序鍵作進一步說明.需要注意地是排序中運用地值是ps運用地內部值,并非僅用于某些輸出格式地偽值.排序鍵列表見下表.
============排序鍵列表==========================
c cmd 可執行地簡單名稱
C cmdline 完整命令行
f flags 長模式標志
g pgrp 進程地組ID
G tpgid 控制tty進程組ID
j cutime 累計用戶時間
J cstime 累計系統時間
k utime 用戶時間
K stime 系統時間
m min_flt 次要頁錯誤地數量
M maj_flt 重點頁錯誤地數量
n cmin_flt 累計次要頁錯誤
N cmaj_flt 累計重點頁錯誤
o session 對話ID
p pid 進程ID
P ppid 父進程ID
r rss 駐留大小
R resident 駐留頁
s size 內存大小(千字節)
S share 共享頁地數量
t tty tty次要設備號
T start_time 進程啟動地時間
U uid UID
u user 用戶名
v vsize 總地虛擬內存數量(字節)
y priority 內核調度優先級
ps aux 或 lax 輸出的解釋
========================================ps aux 或 lax 輸出的解釋=========================
2、ps aux 或 lax 輸出的解釋
au(x) 輸出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 進程所有者
PID: 進程ID
%CPU: 占用的 CPU 使用率
%MEM: 占用的內存使用率
VSZ: 占用的虛擬內存大小
RSS: 占用的內存大小
TTY: 終端的次要裝置號碼 (minor device number of tty)
STAT: 進程狀態:
START: 啟動進程的時間;
TIME: 進程消耗CPU的時間;
COMMAND:命令的名稱和參數
?
進程 stat 狀態
=========================================進程STAT狀態==================================
D 無法中斷的休眠狀態(通常 IO 的進程);
R 正在運行,在可中斷隊列中;
S 處于休眠狀態,靜止狀態;
T 停止或被追蹤,暫停執行;
W 進入內存交換(從內核2.6開始無效);
X 死掉的進程;
Z 僵尸進程不存在但暫時無法消除;
W: 沒有足夠的記憶體分頁可分配
WCHAN 正在等待的進程資源;
<: 高優先級進程
N: 低優先序進程
L: 有記憶體分頁分配并鎖在記憶體內 (即時系統或捱A I/O),即,有些頁被鎖進內存
s 進程的領導者(在它之下有子進程);
l 多進程的(使用 CLONE_THREAD, 類似 NPTL pthreads);
+ 位于后臺的進程組;
?
kill 終止進程
========================================kill 終止進程================================
kill 終止進程
有十幾種控制進程的方法,下面是一些常用的方法:
kill -STOP [pid]
發送SIGSTOP (17,19,23)停止一個進程,而并不消滅這個進程。
kill -CONT [pid]
發送SIGCONT (19,18,25)重新開始一個停止的進程。
kill -KILL [pid]
發送SIGKILL (9)強迫進程立即停止,并且不實施清理操作。
kill -9 -1
終止你擁有的全部進程。
SIGKILL 和 SIGSTOP 信號不能被捕捉、封鎖或者忽略,但是,其它的信號可以。所以這是你的終極武器。
?
?
==================================================范例==============================
$ ps
PID TTY TIME COMMAND
5800 ttyp0 00:00:00 bash
5835 ttyp0 00:00:00 ps
可以看到,顯示地項目共分為四項,依次為PID(進程ID)、TTY(終端名稱)、TIME(進程執行時 間)、COMMAND(該進程地命令行輸入).
可以運用u選項來查看進程所有者及其他少許詳細信息,如下所示:
$ ps u
USER PID %CPU %MEM USZ RSS TTY STAT START TIME COMMAND
test 5800 0.0 0.4 1892 1040 ttyp0 S Nov27 0:00 -bash
test 5836 0.0 0.3 2528 856 ttyp0 R Nov27 0:00 ps u
在bash進程前面有條橫線,意味著該進程便是用戶地登錄shell,所以對于一個登錄用戶來說帶短橫線地進程只有一個.還可以看 到%CPU、%MEM兩個選項,前者指該進程占用地CPU時間
和總時間地百分比;后者指該進程占用地內存和總內存地百分比.
在這種情況下看到了所有控制終端地進程;當然對于其他那些沒有控制終端地進程 還是沒有觀察到,所以這時就需要運用x選項.運用x選項可以觀察到所有地進程情況.
1)ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
2)ps -A 顯示所有程序。
3)ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
4)ps -e 此參數的效果和指定"A"參數相同。
5)ps e 列出程序時,顯示每個程序所使用的環境變量。
6)ps f 用ASCII字符顯示樹狀結構,表達程序間的相互關系。
7)ps -H 顯示樹狀結構,表示程序間的相互關系。
8)ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
9)ps s 采用程序信號的格式顯示程序狀況。
10)ps S 列出程序時,包括已中斷的子程序資料。
11)ps -t<終端機編號> 指定終端機編號,并列出屬于該終端機的程序的狀況。
12)ps u 以用戶為主的格式來顯示程序狀況。
13)ps x 顯示所有程序,不以終端機來區分。
最常用的方法是ps -aux,然后再用管道符號導向到grep去查找特定的進程,然后再對特定的進程進行操作。
==================================================
luther@gliethttp:~$ ps --help
********* simple selection ********* ********* selection by list *********
-A all processes -C by command name
-N negate selection -G by real group ID (supports names)
-a all w/ tty except session leaders -U by real user ID (supports names)
-d all except session leaders -g by session OR by effective group name
-e all processes -p by process ID
T all processes on this terminal -s processes in the sessions given
a all w/ tty, including other users -t by tty
g OBSOLETE -- DO NOT USE -u by effective user ID (supports names)
r only running processes U processes for specified users
x processes w/o controlling ttys t by tty
*********** output format ********** *********** long options ***********
-o,o user-defined -f full --Group --User --pid --cols --ppid
-j,j job control s signal --group --user --sid --rows --info
-O,O preloaded -o v virtual memory --cumulative --format --deselect
-l,l long u user-oriented --sort --tty --forest --version
-F extra full X registers --heading --no-heading --context
********* misc options *********
-V,V show version L list format codes f ASCII art forest
-m,m,-L,-T,H threads S children in sum -y change -l format
-M,Z security data c true command name -c scheduling class
-w,w wide output n numeric WCHAN,UID -H process hierarchy
?
總結
以上是生活随笔為你收集整理的十二 个经典 Linux 进程管理命令介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Embedding Label Stru
- 下一篇: linux 其他常用命令