top命令和ps命令的基本作用是相同的,顯示系統當前的進程和其他狀況;但是top是一個動態顯示過程,即可以通過用戶按鍵來不斷刷新當前狀態。如果在前台執行該命令,它將獨占前台,直到用戶終止該程序為止。 比較准確的說,top命令提供了實時的對系統處理器的狀態監視。它將顯示系統中CPU最「敏感」的任務列表。該命令可以按CPU使用。內存使用和執行時間對任務進行排序;而且該命令的很多特性都可以通過互動式命令或者在個人定製文件中進行設定。在後面的介紹中將把命令參數和交互命令分開講述。
下面是該命令的語法格式:
top [-] [d delay] [q] [c] [s] [S]
d 指定每兩次屏幕信息刷新之間的時間間隔。當然用戶可以使用s交互命令來改變之。
q 該選項將使top沒有任何延遲的進行刷新。如果調用程序有超級用戶許可權,那麼top將以盡可能高的優先順序運行。
S 指定累計模式。
s 使top命令在安全模式中運行。這將去除交互命令所帶來的潛在危險。
i 使top不顯示任何閑置或者僵死進程。
c 顯示整個命令行而不只是顯示命令名
top命令顯示的項目很多,默認值是每5秒更新一次,當然這是可以設置的。
顯示的各項目為: uptime 該項顯示的是系統啟動時間、已經運行的時間和三個平均負載值(最近1秒,5秒,15秒的負載值)。 processes 自最近一次刷新以來的運行進程總數。當然這些進程被分為正在運行的,休眠的,停止的等很多種類。進程和狀態顯示可以通過交互命令t來實現。
CPU states 顯示用戶模式,系統模式,優先順序進程(只有優先順序為負的列入考慮)和閑置等各種情況所佔用CPU時間的百分比。優先順序進程所消耗的時間也被列入到用戶和系統的時間中,所以總的百分比將大於100%。
Mem 內存使用情況統計,其中包括總的可用內存,空閑內存,已用內存,共享內存和緩存所佔內存的情況。
Swap 交換空間統計,其中包括總的交換空間,可用交換空間,已用交換空間。
PID 每個進程的ID。
PPID每個進程的父進程ID。
UID 每個進程所有者的UID 。
USER 每個進程所有者的用戶名。
PRI 每個進程的優先順序別。
NI 該進程的優先順序值。
SIZE 該進程的代碼大小加上數據大小再加上堆棧空間大小的總數。單位是KB。
TSIZE 該進程的代碼大小。對於內核進程這是一個很奇怪的值。
DSIZE 數據和堆棧的大小。
TRS 文本駐留大小。
D 被標記為「不幹凈」的頁項目。
LIB 使用的庫頁的大小。對於ELF進程沒有作用。
RSS 該進程佔用的物理內存的總數量,單位是KB。
SHARE 該進程使用共享內存的數量。
STAT 該進程的狀態。
其中S代表休眠狀態;
D代表不可中斷的休眠狀態;
R代表運行狀態;
Z代表僵死狀態;
T代錶停止或跟蹤狀態。
TIME 該進程自啟動以來所佔用的總CPU時間。如果進入的是累計模式,那麼該時間還包括這個進程子進程所佔用的時間。且標題會變成CTIME。
%CPU 該進程自最近一次刷新以來所佔用的CPU時間和總時間的百分比。
%MEM 該進程佔用的物理內存占總內存的百分比。
COMMAND 該進程的命令名稱,如果一行顯示不下,則會進行截取。內存中的進程會有一個完整的命令行。
下面介紹在top命令執行過程中可以使用的一些交互命令。從使用角度來看,熟練的掌握這些命令比掌握選項還重要一些。這些命令都是單字母的,如果在命令行選項中使用了s選項,則可能其中一些命令會被屏蔽掉。
<空格> 立即刷新顯示。
Ctrl+L 擦除並且重寫屏幕。
h或者? 顯示幫助畫面,給出一些簡短的命令總結說明。
k 終止一個進程。系統將提示用戶輸入需要終止的進程PID,以及需要發送給該進程什麼樣的信號。一般的終止進程可以使用15信號;如果不能正常結束那就使用信號9強制結束該進程。默認值是信號15。在安全模式中此命令被屏蔽。
i 忽略閑置和僵死進程。這是一個開關式命令。
q 退出程序。
r 重新安排一個進程的優先順序別。系統提示用戶輸入需要改變的進程PID以及需要設置的進程優先順序值。輸入一個正值將使優先順序降低,反之則可以使該進程擁有更高的優先權。默認值是10。
S 切換到累計模式。
s 改變兩次刷新之間的延遲時間。系統將提示用戶輸入新的時間,單位為s。如果有小數,就換算成m s。輸入0值則系統將不斷刷新,默認值是5 s。需要注意的是如果設置太小的時間,很可能會引起不斷刷新,從而根本來不及看清顯示的情況,而且系統負載也會大大增加。
f或者F 從當前顯示中添加或者刪除項目。
o或者O 改變顯示項目的順序。
l 切換顯示平均負載和啟動時間信息。
m 切換顯示內存信息。
t 切換顯示進程和CPU狀態信息。
c 切換顯示命令名稱和完整命令行。
M 根據駐留內存大小進行排序。
P 根據CPU使用百分比大小進行排序。
T 根據時間/累計時間進行排序。
W 將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。
從上面的介紹中可以看到,top命令是一個功能十分強大的監控系統的工具,尤其對於系統管理員而言更是如此。一般的用戶可能會覺得ps命令其實就夠用了,但是top命令的強勁功能確實提供了不少方便。下面來看看實際使用的情況。
[例23] 鍵入top命令查看系統狀況
$ top
1:55pm up 7 min, 4 user, load average:0.07,0.09,0.06
29 processes:28 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 4.5% user, 3.6% system, 0.0% nice, 91.9% idle
Mem: 38916K av, 18564K used, 20352K free, 11660K shrd, 1220K buff
Swap: 33228K av, 0K used, 33228K free, 11820K cached
PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
363 root 14 0 708 708 552 R 0 8.1 1.8 0:00 top
1 root 0 0 404 404 344 S 0 0.0 1.0 0:03 init
2 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 kflushd
3 root -12 -12 0 0 0 SW< 0 0.0 0.0 0:00 kswapd
4 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 md_thread
5 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 md_thread
312 root 1 0 636 636 488 S 0 0.0 1.6 0:00 telnet
285 root 6 0 1140 1140 804 S 0 0.0 2.9 0.00 bash
286 root 0 0 1048 1048 792 S 0 0.0 2.6 0.00 bash
25 root 0 0 364 364 312 S 0 0.0 0.9 0.00 kerneld
153 root 0 0 456 456 372 S 0 0.0 1.1 0.00 syslogd
160 root 0 0 552 552 344 S 0 0.0 1.4 0.00 klogd
169 daemon 0 0 416 416 340 S 0 0.0 1.0 0.00 atd
178 root 2 0 496 496 412 S 0 0.0 1.2 0.00 crond
187 bin 0 0 352 352 284 S 0 0.0 0.9 0.00 portmap
232 root 0 0 500 500 412 S 0 0.0 1.2 0.00 rpc.mountd
206 root 0 0 412 412 344 S 0 0.0 1.0 0.00 inetd
215 root 0 0 436 436 360 S 0 0.0 1.1 0.00 icmplog
第一行的項目依次為當前時間、系統啟動時間、當前系統登錄用戶數目、平均負載。第二行為進程情況,依次為進程總數、休眠進程數、運行進程數、僵死進程數、終止進程數。第三行為CPU狀態,依次為用戶佔用、系統佔用、優先進程佔用、閑置進程佔用。第四行為內存狀態,依次為平均可用內存、已用內存、空閑內存、共享內存、緩存使用內存。第五行為交換狀態,依次為平均可用交換容量、已用容量、閑置容量、高速緩存容量。然後下面就是和ps相仿的各進程情況列表了。
❷ Linux中top命令輸出指標詳解
top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器。top顯示系統當前的進程和其他狀況,是一個動態顯示過程,可以自動或者通過用戶按鍵來不斷刷新當前狀態。如果在前台執行該命令,它將獨占前台,直到用戶終止該程序為止.。比較准確的說,top命令提供了實時的對系統處理器的狀態監控,顯示系統中CPU最「敏感」的任務列表。top命令可以按CPU使用、內存使用和執行時間對任務進行排序。而且該命令的很多特性都可以通過互動式命令或者在個人定製文件中進行設定.。
下面詳細介紹它的使用方法。
對於一個新手來說,如果從來沒有使用過top命令,在命令行模式下直接輸入top,可以查看到當前所有進程的信息。
輸出結果中,有很多指標。下面介紹各個指標都代表什麼含義。
top命令輸出結果中,統計信息區前五行是系統整體的統計信息。
第一行是任務隊列信息,同 uptime 命令的執行結果。其內容如下:
第二、三行為進程和CPU的信息。當有多個CPU時,這些內容可能會超過兩行。內容如下:
最後兩行為內存信息。內容如下:
進程信息區統計信息區域的下方顯示了各個進程的詳細信息。首先來認識一下各列的含義。
默認情況下僅顯示比較重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通過下面的快捷鍵來更改顯示內容。
參考列表:
❸ linux top命令是什麼意思
top命令用於顯示系統運行的進程信息,作用類似於windows中的任務管理器,只不過top不是圖形化的,而是顯示實時文本信息
統計信息區域的下方顯示了各個進程的詳細信息。首先來認識一下各列的含義。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
序號列名含義
PID 進程id
PPID 父進程id
RUSER Realusername
UID 進程所有者的用戶id
USER 進程所有者的用戶名
GROUP 進程所有者的組名
TTY 啟動進程的終端名。不是從終端啟動的進程則顯示為?
PR 優先順序
NInice 值。負值表示高優先順序,正值表示低優先順序
P 最後使用的CPU,僅在多CPU環境下有意義
%CPU 上次更新到現在的CPU時間佔用百分比
TIME 進程使用的CPU時間總計,單位秒
TIME+ 進程使用的CPU時間總計,單位1/100秒
%MEM 進程使用的物理內存百分比
VIRT 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
SWAP 進程使用的虛擬內存中,被換出的大小,單位kb。
RES 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
CODE 可執行代碼佔用的物理內存大小,單位kb
DATA 可執行代碼以外的部分(數據段+棧)佔用的物理內存大小,單位kb
SHR 共享內存大小,單位kb
nFLT 頁面錯誤次數
nDRT 最後一次寫入到現在,被修改過的頁面數。
S 進程狀態。
D= 不可中斷的睡眠狀態
R= 運行
S= 睡眠
T= 跟蹤/停止
Z= 僵屍進程
COMMAND 命令名/命令行
WCHAN 若該進程在睡眠,則顯示睡眠中的系統函數名
Flags 任務標志,參考sched.h
❹ linux怎樣使用top命令查看系統狀態
top命令用於監視進程的活動與系統負載,格式為:「top」。
這個top命令可真的是太厲害了,完全可以比喻成是「強化版的Windows任務管理器」,運行界面如下:
前面的五行為系統整體的統計信息,下面我們來逐行的講解:
第1行:系統時間,運行時間,登陸用戶數,系統負載(分別為1分鍾、5分鍾、15分鍾的平均值)。
第2行:進程總數,運行中的,睡眠中的,停止的,僵屍的。
第3行:用戶佔用資源,系統內核佔用資源,改變過優先順序的進程,空閑的資源,等待輸入輸出的時間。
此行數據均為CPU數據並以百分比格式顯示,例如"99.2
id"意味著有99.2%的CPU資源正在空閑中。
第4行:物理內存總量,使用量,空閑量,作為內核緩存的內存量。
第5行:虛擬內存總量,使用量,空閑量,已被提前載入的內存數據。
進程的信息區中包含了各個進程的詳細信息,含義如下:
PID:進程ID號
USER:進程的所有者
PR:優先順序
NI:優先順序(負值表示優先順序更高)
VIRT:虛擬內存使用量
RES:物理內存使用量
SHR:共享內存大小
S:進程狀態(上文中有提到)
%CPU:運算器的使用百分比
%MEM:內存的使用百分比
TIME+:使用CPU的時間(單位是1/100秒)
COMMAND:命令名稱
參考《linux就該這么學》第8章節
❺ 『學了就忘』Linux系統管理 — 3.進程的查看(top命令)
top 命令是用來 動態顯示 系統中進程的命令。
演示:
在 top 命令的交互模式當中可以執行的命令:
執行 top 命令查看結果:
top 命令的輸出內容是動態的,默認每3秒刷新一次。
命令的輸出主要分為兩大部分:
第二部分輸出的內容,主要是系統進程信息。
這部分和ps命令的輸出比較類似,只是如果在終端中執行top命令,不能看到所有的進程,默認是按cpu的佔用率排序的,所以默認只能看到cpu佔比靠前的進程。
例如:
進入到 top 命令的交互界面,按「k」鍵,會提示輸入要殺死進程的PID。
按兩次回車就可以殺死進程指定進程。(這種殺掉進程的方式不常用)
下面我們以xinetd進程為例:
按兩次回車嗎,xinetd進程被kill掉了,等待3秒刷新。
如果在操作終端執行 top 命令,並不能看到系統中所有的進程,默認看到的只是CPU佔比靠前的進程。如果我們想要看到所有的進程,可以把 top 命令的結果重定向到文件當中即可。
不過 top 命令是持續運行的,這時就需要 -b 和 -n 選項了,具體命令如下:
❻ Linux運維工程師必知:如何根據內存使用情況對 top 命令進行排序
作為 Linux 用戶,您無法避免使用 top 命令,這個簡單的命令列出了所有正在運行的系統進程。
它 每三秒 刷新一次統計數據,讓您感覺持續監控進程。
默認情況下,top 命令的輸出 按 CPU 消耗排序 ,這意味著您會看到消耗最多 CPU 的進程位於命令的頂部。
但是,如果您想查看消耗最多 RAM 的進程怎麼辦?您可以根據內存使用情況而不是 CPU 消耗對 top 命令進行排序。
這很簡單。
第 1 步 :照常運行 top 命令。
第 2 步 :按Shift+M,按內存排序top命令輸出,它將立即開始顯示使用最多內存的進程。
但這不是永久性的改變,下次運行 top 命令時,它將再次按 CPU 使用率排序。
Shift+M 鍵盤快捷鍵對於檢查每個進程的內存使用情況非常方便,但是,如果您想在虛擬內存、花費的時間、共享內存等其他欄位上對 top 命令進行排序,則可以使用 top 命令的交互模式。
第 1 步 :當然,運行 top 命令。
第 2 步 :按Shift+F進入交互模式。
第 3 步 :使用箭頭鍵選擇不同的參數,如 %MEM、TIME、VIRT 等,當您在所需參數處時,按 S 對其進行排序。
您可以在右上角看到當前的排序欄位,按 Esc 或 Q退出交互模式,現在頂部命令輸出將按您選擇的欄位排序。
這很方便,對吧?不幸的是,top 命令雖然非常強大,很多人不知道如何正確有效地使用它。
❼ 常用命令之TOP
android中TOP命令用於查看當前CPU負載、內存佔用、進程信息等。
第一行 ,進程信息:
系統現在共有668個進程,其中處於運行中的有1個,665個在休眠(sleep),stoped狀態的有0個,zombie狀態(僵屍)的有2個。
第二行 ,內存信息:
物理內存總量:3.5G
使用中的內存:3.1G
空閑的內存:466M
緩存的內存:96M
第三行 ,交御陪換分區,android中指ZRAM:
交換分區總量:2G
使用中的交換區:455M
空閑的交換區總量:1.5G
緩沖的交換區:1.4G
第四行 ,CPU狀態信息:
800%cpu
5%user - 用戶進程佔用cpu的百分比
0%nice - 優先值為負的進程所佔用的CPU時間
7%sys - 系統進程佔用cpu的百分比
788%idle - 空閑cpu百分比
1%iow - IO等待時間凱拆尺
0%irq - 硬中斷時間
0%sirq - 軟中斷時間
0%host -
第五行 ,各進程狀態監控:
PID — 進程id
USER — 進程所有者
PR — 進程優先順序
NI — nice值。負值表示高優先順序,正值表示低優先順序
VIRT — 進程使用的虛擬內存總量,VIRT=SWAP+RES
RES — 進程使用的、未被換出的物理內存大小,RES=CODE+DATA
SHR — 共享內存大小
S — 進程狀盯高態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵屍進程
%CPU — 上次更新到現在的CPU時間佔用百分比
%MEM — 進程使用的物理內存百分比
TIME+ — 進程使用的CPU時間總計,單位1/100秒
ARGS — 進程名稱(命令名/命令行)
❽ 「linux top命令」是什麼意思
top命令用於顯示系統運行的進程信息,作用類似於windows中的任務管理器,只不過top不是圖形化的,而是顯示實時文本信息x0dx0ax0dx0a統計信息區域的下方顯示了各個進程的詳細信息。首先來認識一下各列的含義。x0dx0aPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMANDx0dx0a序號列名含義x0dx0aPID 進程idx0dx0aPPID 父進程idx0dx0aRUSER Realusernamex0dx0aUID 進程所有者的用戶idx0dx0aUSER 進程所有者的用戶名x0dx0aGROUP 進程所有者的組名x0dx0aTTY 啟動進程的終端名。不是從終端啟動的進程則顯示為?x0dx0aPR 優先順序x0dx0aNInice 值。負值表示高優先順序,正值表示低優先順序x0dx0aP 最後使用的CPU,僅在多CPU環境下有意義x0dx0a%CPU 上次更新到現在的CPU時間佔用百分比x0dx0aTIME 進程使用的CPU時間總計,單位秒x0dx0aTIME+ 進程使用的CPU時間總計,單位1/謹激100秒x0dx0a%MEM 進程使用的物理內存百分比x0dx0aVIRT 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RESx0dx0aSWAP 進程使用的虛擬內存中,被換出的大小,單位kb。x0dx0aRES 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATAx0dx0aCODE 可執行代碼佔用的物理內存大小,單位kbx0dx0aDATA 可執行代碼以外的部分(數據段+棧)佔用的物理內存大小乎卜,單位kbx0dx0aSHR 共享內存大小,單位kbx0dx0anFLT 頁面錯誤次數x0dx0anDRT 最後一次寫入到現在,被修改過的頁面數。x0dx0aS 進程狀態。x0dx0aD= 不可中斷的睡眠狀態x0dx0aR= 運行x0dx0aS= 睡眠x0dx0aT= 跟蹤/停止x0dx0aZ= 僵屍進程x0dx0aCOMMAND 命令名/祥頃襪命令行x0dx0aWCHAN 若該進程在睡眠,則顯示睡眠中的系統函數名x0dx0aFlags 任務標志,參考sched.h
❾ 怎樣用top命令查看所有進程
在linux下可以通過top命令來查系統運行狀態和進程運行狀態,通過man查看top手冊,top的解釋是display Linux tasks,以前看到過一個另外的解釋display top CPU processes,這個我覺得挺貼切的,因為top這個命令會自動把消耗高的進慎迅遲程排到前面,真的很形象。
1、命令說明
top 參數
-h:help表示顯示幫助的意思
-v:version顯示版本的意思,和-h的功能一樣
-u:user顯示指定用戶的進程,例如:top -u root
-p:pid顯示指定進程,例如:top -p 1
-n:number進入top後,top會定時刷新狀態,這個值就是設置刷新幾次
-d:delay進入top後,top會定時刷新狀態,這個值就是設置幾秒刷新一次
-b:Batch mode,top刷新狀態默認是在原數據上刷新,使用這個參數後,會一屏一屏的顯示數據。結合重定向功能和計劃任務,這個參數在記錄伺服器運行狀態時非常有用。
以上一些參數是在輸入命令時提供的參數,在top運行的過程中,還可以輸入一些快捷鍵來調整顯示內容。
一些命令運行時的快捷鍵說明:
q:quit退出程序
M:Memory按照內存使用量排序
P:CPU按照cpu使用量排序
k:kill殺死PID的進程,不輸入PID,直接按回車就會退出
1:能顯示CPU每個核心的情況
h或者?:help 查看更多快捷鍵
f:fields查看進程表頭欄位含義
2、命令測試
top
top命令測試
第一行說明:
top – :系統當前時間
up:伺服器連續運行的時間,筆者見過有伺服器連續運行一年以上,linux伺服器還是非常穩定的。
user:當前有多少用戶登錄系統
load average:這個邊有3個數值分別表示系統在前1分鍾,5分鍾,15分鍾的工作負載,根據筆者以往的經驗來看單核負載在3-5之間比較合適,經常在1以下,說明cpu利用率不高,在5以上,cpu會處於較高負載狀態,會容易宕機。有一次項目上線,晚上加班觀察伺服器狀況,這個值長時間保持在72左右,因為伺服器有八核,所以每核的值為9,後來伺服器就掛了。
第二行就是顯示任務的數量情況,其中zombie要注意一下,這個是表示僵屍進程,出現了僵屍進程要注意下僵屍進程是如何產生的。如果不找到產生原因,即使殺死了,可能也會再次出現。
第三行表示cpu的運行情況,按下1可以顯示每個核的運行情況。
第四行表示內存memory的使用情況。
第五行表示交換空間swap的使用情況。
下面顯示的就是進程的運行狀態了。每個表頭表示的含義如下:
PID:進程編號
USER:進程所屬用戶
PR/NI:Priority/Nice value進程執行的優先順序
VIRT:Virtual Image (kb) 虛擬內存使用總額
RES:Resident size (kb) 常駐內存
SHR:Shared Mem size (kb) 共享內存
S:Process Status 進程狀態
%CPU:cpu使用率
%MEM:內存使用率
TIME+:進程開始運行時使用cpu的總時間
COMMAND:進程運行的命令
在top狀態下按f可以查看錶頭欄位說明。
3、常用的命令:
top -b -n 60 -d 60 > /home/cpu.txt
該命令每隔60秒會將伺服器運行狀寬李態保存到一個文本文件,昌好共運行60次,其實就是將伺服器1個小時的運行狀態保存起來。使用這個命令,可以記錄伺服器在繁忙時的負載情況,例如設置到晚上8點到9點之間,這樣就可以根據伺服器狀態作出調整,而不是等伺服器掛了才來處理。上面命令各參數,大家可以根據自己需要修改。終於不用加班蹲點觀察伺服器了。
❿ Top命令中顯示的進程狀態
top命名中S 列(也就是 Status 列慎雹)表示進程的狀態。
R 是 Running 或 Runnable 的縮寫,表示進程在 CPU 的就緒隊列中,正在運行或者正在等待運行。
D 是 Disk Sleep 的縮寫,也就是不可中斷狀態睡眠喊蠢(Uninterruptible Sleep),一般表示進程正在跟硬體交互,為了保護進程數據與硬體一致,系統不允許被其他進程中斷打斷。
Z 是 Zombie 的縮寫,如果你玩過「植物大戰僵屍」這款游戲,應該知道它的意思。它表示僵屍進程,也就是進程實際上已經結束了,但是父進程還沒有回收它的資源(比如進程的描述符、PID 等)。
S 是 Interruptible Sleep 的縮寫,也就是可中斷狀態睡眠,表示進程因為等待某個事件而被系統掛起。當進程等待的事件發生時,它會被喚醒並進入 R 狀態。
I 是 Idle 的縮寫,也就是空閑狀態,用在不可中斷睡眠的內核線程上。前面說了,硬體交互導致的不可中斷進程用 D 表示,但對某些內核線程來說,它們有可能實際上並沒有任何負載,用 Idle 正是為了區分這種情況。要注意,D 狀態的進程會導致平均負載升高, I 狀態的進程卻不會。
T 或者 t ,也就是 Stopped 或 Traced 的縮寫,表示進程處於暫停寬滲帆或者跟蹤狀態。向一個進程發送 SIGSTOP 信號,它就會因響應這個信號變成暫停狀態(Stopped)。而當用調試器(如 gdb)調試一個進程時,在使用斷點中斷進程後,進程就會變成跟蹤狀態,這其實也是一種特殊的暫停狀態,只不過你可以用調試器來跟蹤並按需要控制進程的運行。
X 是 Dead 的縮寫,表示進程已經消亡,所以你不會在 top 或者 ps 命令中看到它。