新聞中心
在Linux系統(tǒng)中,進(jìn)程是指正在運(yùn)行的程序的執(zhí)行實(shí)例。進(jìn)程管理是系統(tǒng)管理者的必修課程,掌握進(jìn)程狀態(tài)的查看方法對(duì)于快速了解系統(tǒng)運(yùn)行情況有著極為重要的意義。本篇文章將介紹如何通過(guò)幾個(gè)簡(jiǎn)單的命令來(lái)查看Linux進(jìn)程的狀態(tài),以提升系統(tǒng)管理技能。

一、常用命令
1. ps
ps是最基礎(chǔ)的查看進(jìn)程的命令,它可以列出當(dāng)前所有進(jìn)程的詳細(xì)信息。
“`bash
ps aux
“`
其中,
– a選項(xiàng)表示列出當(dāng)前終端所有進(jìn)程的詳細(xì)信息;
– u選項(xiàng)表示包含進(jìn)程狀態(tài)以及CPU和內(nèi)存的占用情況;
– x選項(xiàng)用于列出運(yùn)行在當(dāng)前終端的所有進(jìn)程,包括沒(méi)有控制終端的進(jìn)程。
該命令的輸出結(jié)果包括進(jìn)程ID、用戶ID、CPU使用情況、內(nèi)存使用情況、進(jìn)程狀態(tài)等信息。需要注意的是,ps命令列出的進(jìn)程是被實(shí)時(shí)更新的,因此可以得到即時(shí)的進(jìn)程狀態(tài)信息。
2. top
top命令可以用來(lái)實(shí)時(shí)地查看系統(tǒng)的資源占用情況,包括CPU占用率、內(nèi)存占用率等。
“`bash
top
“`
運(yùn)行該命令后,可以看到輸出結(jié)果包括系統(tǒng)的總體運(yùn)行狀態(tài)、進(jìn)程占用CPU和內(nèi)存的情況以及進(jìn)程ID等信息。該命令還可以通過(guò)按鍵來(lái)實(shí)現(xiàn)進(jìn)程的排序、篩選以及顯示等操作。
3. pstree
pstree命令可以用于以樹(shù)形結(jié)構(gòu)顯示進(jìn)程信息,使得進(jìn)程之間的關(guān)系更加直觀。
“`bash
pstree
“`
運(yùn)行該命令后,可以看到輸出結(jié)果是進(jìn)程以父子關(guān)系樹(shù)狀顯示的,同一級(jí)別的進(jìn)程會(huì)以相同的縮進(jìn)顯示。該命令還可以通過(guò)選項(xiàng)自定義輸出結(jié)果的格式和顯示信息。
4. kill
kill命令可以用來(lái)停止或者殺死進(jìn)程,通常用于關(guān)閉異常進(jìn)程。
“`bash
kill
“`
其中,是需要終止的進(jìn)程號(hào)。通過(guò)該命令可以向指定的進(jìn)程發(fā)送一個(gè)信號(hào),常用信號(hào)有9(強(qiáng)制殺死進(jìn)程)和15(優(yōu)雅停止進(jìn)程)。
二、進(jìn)程狀態(tài)的含義
在使用上面介紹的命令查看進(jìn)程狀態(tài)時(shí),會(huì)發(fā)現(xiàn)每個(gè)進(jìn)程都有一個(gè)狀態(tài)列,表示該進(jìn)程的狀態(tài)。進(jìn)程狀態(tài)的含義如下:
– R(可運(yùn)行):進(jìn)程正在運(yùn)行;
– S(睡眠):進(jìn)程正在等待一個(gè)事件,例如磁盤(pán)輸入/輸出、網(wǎng)絡(luò)消息等;
– D(不可中斷睡眠):進(jìn)程正在等待一個(gè)事件,但是在等待過(guò)程中不會(huì)被信號(hào)打斷;
– Z(僵尸):進(jìn)程已經(jīng)終止,但是其父進(jìn)程還沒(méi)有通過(guò)wtpid系統(tǒng)調(diào)用來(lái)獲取其退出狀態(tài);
– T(暫停):進(jìn)程已被暫停或停止;
– t(跟蹤/調(diào)試狀態(tài)):進(jìn)程正在被跟蹤或者處于調(diào)試狀態(tài);
– X(死亡):進(jìn)程已經(jīng)終止或掛起。
三、常見(jiàn)問(wèn)題
1. 怎樣才能殺死僵尸進(jìn)程?
僵尸進(jìn)程是指已經(jīng)運(yùn)行完成但是父進(jìn)程沒(méi)有及時(shí)獲取退出狀態(tài)的進(jìn)程??梢允褂胟ill命令將其殺死。如果無(wú)法殺死僵尸進(jìn)程,可以嘗試使用kill -9命令,該命令強(qiáng)制停止進(jìn)程,不給進(jìn)程任何執(zhí)行的機(jī)會(huì),但是操作需要謹(jǐn)慎,否則可能會(huì)帶來(lái)系統(tǒng)的不穩(wěn)定性。
2. 進(jìn)程狀態(tài)為D進(jìn)行中的進(jìn)程如何解決?
如果進(jìn)程處于D狀態(tài),通常是由于輸入/輸出等操作超時(shí)或者因?yàn)橛布O(shè)備出現(xiàn)故障導(dǎo)致的??梢韵葒L試使用kill -9命令停止進(jìn)程,然后尋求相應(yīng)的硬件檢查和修復(fù)工具排查問(wèn)題。
3. 如何查看某個(gè)進(jìn)程打開(kāi)的文件?
可以通過(guò)lsof命令來(lái)查看某個(gè)進(jìn)程打開(kāi)的所有文件。該命令可以查看各種類型的文件,包括普通文件、目錄、管道等。語(yǔ)法如下:
“`bash
lsof -p
“`
其中,是進(jìn)程號(hào),該命令可以顯示指定進(jìn)程打開(kāi)的所有文件以及文件的屬性,包括文件名、文件位置、文件類型等。
四、
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
如何查看Linux服務(wù)器的進(jìn)程
1.ps
ps命令是最基本同時(shí)也是非常強(qiáng)大的進(jìn)程查看命令。使用該命令可以確定有哪些進(jìn)燃弊程正在運(yùn)行和它所運(yùn)行的狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程有沒(méi)有僵死、哪些進(jìn)程占用了過(guò)多的資源等??傊蟛糠中畔⒍际强梢酝ㄟ^(guò)執(zhí)行該命令得到的。ps命令最常用來(lái)監(jiān)控后臺(tái)進(jìn)程的工作情況,因?yàn)楹笈_(tái)進(jìn)啟梁程是不和屏幕、鍵盤(pán)這些標(biāo)準(zhǔn)輸入/輸出設(shè)備進(jìn)行通信的,所以如果需要檢測(cè)后臺(tái)情況,就需要使用ps命令了。它的格式如下所示:
格式:ps
其主要選項(xiàng)如下。
-a:顯示系統(tǒng)中所有進(jìn)程的信息。
-e:顯示所有進(jìn)程的信息。
-f:顯示進(jìn)程的所有信息。
-l:以長(zhǎng)格式顯示進(jìn)程信息。皮旁族
-r:只顯示正在運(yùn)行的進(jìn)程。
-u:顯示面向用戶的格式(包括用戶名、CPU及內(nèi)存的使用情況等信息)。
-x:顯示所有非控制終端上的進(jìn)程信息。
-p:顯示由進(jìn)程ID指定的進(jìn)程信息。
如何在Linux中查看所有正在運(yùn)行的進(jìn)程
ps -elf 命令即可查看,另外你要學(xué)習(xí)linux的常用命令以方便使用
查看Linux中所有正在運(yùn)行的進(jìn)程 ,可以參考如下方法:
1、通過(guò)ps命瞎源令的-A或者-e參數(shù)來(lái)獲取系統(tǒng)中所有的進(jìn)程,這兩個(gè)參數(shù)的作用一樣的。
2、通過(guò)top命令來(lái)獲取滑殲系統(tǒng)中所有的進(jìn)程任務(wù) 。執(zhí)行top命令后,在tasks一欄會(huì)看到總的任務(wù)數(shù)。信神沖
命令行方式登陸linux系空陪統(tǒng)
su – root 切換到root權(quán)限
ps -A 查看結(jié)果
ps命令有好多察戚參數(shù),一般ps -aux 用敗虧陵的比較多??梢杂胮s –help查看幫助。
ps 和 top都可以看系統(tǒng)中正在運(yùn)行的進(jìn)程
ps 命令提供了當(dāng)前運(yùn)行進(jìn)程的快照。
使用帶有 -ef 選項(xiàng)的 ps ,返回系統(tǒng)中所有用戶的所有進(jìn)山耐程的完整列表。如果您將此 ps 命令的結(jié)果傳送到 grep 中,則該結(jié)果更易于查看。例如:
$ ps -ef | grep oracle
這沒(méi)唯叢條命令會(huì)顯示:
UID PID PPID C STIME TTY TIME CMD
oracle:58 ?00:00:00 ora_pmon_ora1
oracle:58 ?00:00:00 ora_dbw0_ora1
oracle:58 ?00:00:01 ora_lgwr_ora1
oracle:58 ?00:00:02 ora_ckpt_ora1
下面是ps的選項(xiàng)
-A:列出所有的進(jìn)程。
-l:顯示長(zhǎng)列表。
-m:顯示內(nèi)存信息。
-w:顯枯櫻示加寬可以顯示較多的信息。
-e:顯示所有進(jìn)程。
a:顯示終端上的所有進(jìn)程,包括其它用戶的進(jìn)程。
-au:顯示較詳細(xì)的信息。
-aux:顯示所有包含其它使用者的進(jìn)程。
要即時(shí)查看最活躍的進(jìn)程,可使用 top
ps aux 或者 ps -le
名稱:ps
使用權(quán)限:所有使用者
使用方式:ps
說(shuō)明腔汪:顯示瞬間行程 (process) 的動(dòng)態(tài)
參數(shù):ps的參數(shù)非常多, 在此僅列出幾個(gè)常用的參數(shù)并大略介紹含義
-A 列出所有的進(jìn)程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細(xì)的資訊
-aux 顯示所有包含其他使用者的行程
############################################################
常用參數(shù):
-A 顯示所有進(jìn)程(等價(jià)于-e)(utility)
-a 顯示一個(gè)終端的所有進(jìn)程,除了會(huì)話引線
-N 忽略選擇。
-d 顯示所有進(jìn)程,但省略所有的會(huì)話引線(utility)
-x 顯示沒(méi)有控制終端的進(jìn)程,同時(shí)顯示各個(gè)命令的具體路徑。dx不可合用。(utility)
-p pid 進(jìn)程使用cpu的時(shí)間
-u uid or username 選擇有效慎圓陸的用戶id或者是用戶名
-g gid or groupname 顯示組的所有進(jìn)程。
U username 顯示該用戶下的所有進(jìn)程,且顯示各個(gè)命令的詳細(xì)路徑。如:ps U zhang;(utility)
-f 全部列出,通常和其他選項(xiàng)聯(lián)用。如:ps -fa or ps -fx and so on.
-l 長(zhǎng)格式(有F,wchan,C 等字段)
-j 作業(yè)格式
-o 用戶自定義格式。
v 以虛擬存儲(chǔ)器格式顯示
s 以信號(hào)格式顯示
-m 顯示所有的線程
-H 顯示進(jìn)程的層次(和其它的命令合用,如:ps -Ha)(utility)
e 命令之后顯示環(huán)境(如:ps -d e; ps -a e)(utility)
h 不顯示之一行
############################################################
ps命令常用用法(方便查看系統(tǒng)進(jìn)程)
1)ps a 顯示現(xiàn)行終端機(jī)下的所有程序,包括其他用戶的程序。
2)ps -A 顯示所有進(jìn)程。
3)ps c 列出程序時(shí),顯示每個(gè)程序真正的指令名稱,而不包含路徑,參數(shù)或常駐服務(wù)的標(biāo)示。
4)ps -e 此參數(shù)的效果和指定”A”參數(shù)相同。
5)ps e 列出程序時(shí),顯示每個(gè)程序所使用的環(huán)境變量。
6)ps f 用ASCII字符顯示樹(shù)狀結(jié)構(gòu),表達(dá)程序間的相互關(guān)系。
7)ps -H 顯示樹(shù)狀結(jié)構(gòu),表示程序間的相互關(guān)系。
8)ps -N 顯示所有的程序,除了執(zhí)行ps指令終端機(jī)下的程序之外。
9)ps s 采用程序信號(hào)的格式顯示程序狀況。
10)ps S 列寬頃出程序時(shí),包括已中斷的子程序資料。
11)ps -t 指定終端機(jī)編號(hào),并列出屬于該終端機(jī)的程序的狀況。
12)ps u 以用戶為主的格式來(lái)顯示程序狀況。
13)ps x 顯示所有程序,不以終端機(jī)來(lái)區(qū)分。
最常用的方法是ps -aux,然后再利用一個(gè)管道符號(hào)導(dǎo)向到grep去查找特定的進(jìn)程,然后再對(duì)特定的進(jìn)程進(jìn)行操作。
############################################################
運(yùn)行 ps aux 的到如下信息:
root:# ps aux
USER PID%CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
msp.0 0.? Ss 20::00 sendmail: Queue runner@01:00:00 f
root.0 0.52 ? Ss 20::00 gpm -m /dev/input/mice -t imps2
htt.0 0.96 ? Ss 20::00 /usr/in/htt -retryonerror 0
htt.0 1.? Sl 20::00 htt_server -nodaemon
root.0 0.92 ? Ss 20::00 crond
xfs.0 1.? Ss 20::00 xfs -droppriv -daemon
root.0 0.52 ? SNs 20::00 anacron -s
root.0 0.20 ? Ss 20::00 /usr/in/atd
dbus.0 0.? Ssl 20::00 dbus-daemon-1 –system
Head標(biāo)頭:
USER 用戶名
UID 用戶ID(User ID)
PID 進(jìn)程ID(Process ID)
PPID 父進(jìn)程的進(jìn)程ID(Parent Process id)
SID 會(huì)話ID(Session id)
%CPU 進(jìn)程的cpu占用率
%MEM 進(jìn)程的內(nèi)存占用率
VSZ 進(jìn)程所使用的虛存的大小(Virtual Size)
RSS 進(jìn)程使用的駐留集大小或者是實(shí)際內(nèi)存的大小,Kbytes字節(jié)。
TTY 與進(jìn)程關(guān)聯(lián)的終端(tty)
STAT 進(jìn)程的狀態(tài):進(jìn)程狀態(tài)使用字符表示的(STAT的狀態(tài)碼)
R 運(yùn)行 Runnable (on run queue)正在運(yùn)行或在運(yùn)行隊(duì)列中等待。
S 睡眠 Sleeping 休眠中, 受阻, 在等待某個(gè)條件的形成或接受到信號(hào)。
I 空閑 Idle
Z 僵死 Zombie(a defunct process)進(jìn)程已終止, 但進(jìn)程描述符存在, 直到父進(jìn)程調(diào)用wait4()系統(tǒng)調(diào)用后釋放。
D 不可中斷 Uninterruptible sleep (ususally IO) 收到信號(hào)不喚醒和不可運(yùn)行, 進(jìn)程必須等待直到有中斷發(fā)生。
T 終止 Terminate 進(jìn)程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號(hào)后停止運(yùn)行運(yùn)行。
P 等待交換頁(yè)
W 無(wú)駐留頁(yè) has no resident pages沒(méi)有足夠的記憶體分頁(yè)可分配。
X 死掉的進(jìn)程
ps001.txt
把結(jié)果輸出到ps001.txt文本中并保存。
# more ps001.txt
這里是把所有進(jìn)程顯示出來(lái),并輸出到ps001.txt文件,然后再通過(guò)more 來(lái)分頁(yè)查看。
4、kill 終止(殺死)進(jìn)程,有十幾種控制進(jìn)程的方法,下面是一些常用的方法:
#kill -STOP
發(fā)送SIGSTOP (17,19,23)停止一個(gè)進(jìn)程,而并不消滅這個(gè)進(jìn)程。
#kill -CONT
發(fā)送SIGCONT (19,18,25)重新開(kāi)始一個(gè)停止的進(jìn)程。
#kill -KILL
發(fā)送SIGKILL (9)強(qiáng)迫進(jìn)程立即停止,并且不實(shí)施清理操作。
#kill -9 -1
終止你擁有的全部進(jìn)程。
關(guān)于查看linux的進(jìn)程狀態(tài)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
四川成都云服務(wù)器租用托管【創(chuàng)新互聯(lián)】提供各地服務(wù)器租用,電信服務(wù)器托管、移動(dòng)服務(wù)器托管、聯(lián)通服務(wù)器托管,云服務(wù)器虛擬主機(jī)租用。成都機(jī)房托管咨詢:13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)、開(kāi)啟建站+互聯(lián)網(wǎng)銷售服務(wù),與企業(yè)客戶共同成長(zhǎng),共創(chuàng)價(jià)值。
文章名稱:輕松學(xué)會(huì)查看Linux進(jìn)程狀態(tài),提升系統(tǒng)管理技能(查看linux的進(jìn)程狀態(tài))
文章地址:http://www.dlmjj.cn/article/cdijggd.html


咨詢
建站咨詢
