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

顯示其他用戶啟動(dòng)的進(jìn)程(a)

查看系統(tǒng)中屬于自己的進(jìn)程(x)

啟動(dòng)這個(gè)進(jìn)程的用戶和它啟動(dòng)的時(shí)間(u)

使用“date -s”命令來修改系統(tǒng)時(shí)間

比如將系統(tǒng)時(shí)間設(shè)定成1996年6月10日的命令如下。

#date -s 06/10/96

將系統(tǒng)時(shí)間設(shè)定成下午1點(diǎn)12分0秒的命令如下。

#date -s 13:12:00

------------------------------------------------------

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

root 1 0.0 0.0 1340 440 ? S Nov05 0:04 init

root 2 0.0 0.0 0 0 ? SW Nov05 0:00 [keventd]

root 3 0.0 0.0 0 0 ? SW Nov05 0:00 [keventd]

...

------------------------------------------------------

USER域指明了是哪個(gè)用戶啟動(dòng)了這個(gè)命令;

用戶可以查看某個(gè)進(jìn)程占用了多少CPU;

內(nèi)存使用及其VSZ(虛擬內(nèi)存大小)和RSS(常駐集大?。?

VSZ表示如果一個(gè)程序完全駐留在內(nèi)存的話需要占用多少內(nèi)存空間;

RSS指明了當(dāng)前實(shí)際占用了多少內(nèi)存;

STAT顯示了進(jìn)程當(dāng)前的狀態(tài):

"S":進(jìn)程處在睡眠狀態(tài),表明這些進(jìn)程在等待某些事件發(fā)生--可能是用戶輸入或者系統(tǒng)資源的可用性;

last命令可以有效的查看系統(tǒng)登錄事件

在一個(gè)進(jìn)程調(diào)用了exit之后,該進(jìn)程并非馬上就消失掉,而是留下一個(gè)稱為僵尸進(jìn)程(Zombie)的數(shù)據(jù)結(jié)構(gòu)。在Linux進(jìn)程的5種狀態(tài)中,僵尸進(jìn)程是非常特殊的一種,它已經(jīng)放棄了幾乎所有內(nèi)存空間,沒有任何可執(zhí)行代碼,也不能被調(diào)度,僅僅在進(jìn)程列表中保留一個(gè)位置,記載該進(jìn)程的退出狀態(tài)等信息供其他進(jìn)程收集,除此之外,僵尸進(jìn)程不再占有任何內(nèi)存空間。

系統(tǒng)調(diào)用exit的作用是使進(jìn)程退出,但也僅僅限于將一個(gè)正常的進(jìn)程變成一個(gè)僵尸進(jìn)程,并不能將其完全銷毀。

進(jìn)程一旦調(diào)用了wait,就立即阻塞自己,由wait自動(dòng)分析是否當(dāng)前進(jìn)程的某個(gè)子進(jìn)程已經(jīng)退出,如果讓它找到了這樣一個(gè)已經(jīng)變成僵尸的子進(jìn)程,wait 就會(huì)收集這個(gè)子進(jìn)程的信息,并把它徹底銷毀后返回;如果沒有找到這樣一個(gè)子進(jìn)程,wait就會(huì)一直阻塞在這里,直到有一個(gè)出現(xiàn)為止。

轉(zhuǎn)載? ps aux 中STAT 解釋 收藏

運(yùn)行 ps aux 的到如下信息:

ps aux

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

smmsp 3521? 0.0? ? 0.7? ? 6556 1616? ? ?? ? ? ? Ss? ? ? 20:40 0:00 sendmail: Queue runner@01:00:00 f

root? ? 3532? ? 0.0? ? ? 0.2? ? 2428? ? 452? ? ?? ? ? ? Ss? ? ? 20:40 0:00 gpm -m /dev/input/mice -t imps2

htt? ? ? ? 3563? ? 0.0? ? ? 0.0? ? 2956? ? 196? ? ?? ? ? ? Ss? ? ? 20:41 0:00 /usr/sbin/htt -retryonerror 0

htt? ? ? ? 3564? ? 0.0? ? ? 1.7? 29460 3704? ? ?? ? ? ? Sl? ? ? ? 20:41 0:00 htt_server -nodaemon

root? ? ? 3574? ? 0.0? ? ? 0.4? ? 5236 992? ? ?? ? ? ? Ss? ? ? 20:41 0:00 crond

xfs? ? ? ? 3617? ? 0.0? ? ? 1.3? 13572 2804? ? ?? ? ? ? Ss? ? ? 20:41 0:00 xfs -droppriv -daemon

root? ? ? 3627? 0.0? ? ? 0.2? ? 3448? ? 552? ? ?? ? ? ? SNs? ? 20:41 0:00 anacron -s

root? ? ? 3636? ? 0.0? ? ? 0.1? ? 2304? ? 420? ? ?? ? ? ? Ss? ? ? 20:41 0:00 /usr/sbin/atd

dbus? ? 3655? ? 0.0? ? ? 0.5? 13840 1084? ? ?? ? ? ? Ssl? ? ? 20:41 0:00 dbus-daemon-1 --system

....................................

stat 中的參數(shù)意義如下:

D 不可中斷 Uninterruptible(usually IO)

R 正在運(yùn)行,或在隊(duì)列中的進(jìn)程

S 處于休眠狀態(tài)

T 停止或被追蹤

Z 僵尸進(jìn)程

W 進(jìn)入內(nèi)存交換(從內(nèi)核2.6開始無(wú)效)

X? 死掉的進(jìn)程

< 高優(yōu)先級(jí)

n? 低優(yōu)先級(jí)

s? 包含子進(jìn)程

+? 位于后臺(tái)的進(jìn)程組

======================================

ps命令

要對(duì)進(jìn)程進(jìn)行監(jiān)測(cè)和控制,首先必須要了解當(dāng)前進(jìn)程的情況,也就是需要查看當(dāng)前進(jìn)程,而ps命令就是最基本同時(shí)也是非常強(qiáng)大的進(jìn)程查看命令.使用該命令可以確定有哪些進(jìn)程正在運(yùn)行和運(yùn)行的狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程有沒有僵尸、哪些進(jìn)程占用了過多的資源等等.總之大部分信息都是可以通過執(zhí)行該命令得到的.

ps命令最常用的還是用于監(jiān)控后臺(tái)進(jìn)程的工作情況,因?yàn)楹笈_(tái)進(jìn)程是不和屏幕鍵盤這些標(biāo)準(zhǔn)輸入/輸出設(shè)備進(jìn)行通信的,所以如果需要檢測(cè)其情況,便可以使用ps命令了.

1)ps a 顯示現(xiàn)行終端機(jī)下的所有程序,包括其他用戶的程序。

2)ps -A 顯示所有程序。

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字符顯示樹狀結(jié)構(gòu),表達(dá)程序間的相互關(guān)系。

7)ps -H 顯示樹狀結(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ī)編號(hào),并列出屬于該終端機(jī)的程序的狀況。

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

13)ps x  顯示所有程序,不以終端機(jī)來區(qū)分。

最常用的方法是ps -aux,然后再利用一個(gè)管道符號(hào)導(dǎo)向到grep去查找特定的進(jìn)程,然后再對(duì)特定的進(jìn)程進(jìn)行操作。

linux上進(jìn)程有5種狀態(tài):

1. 運(yùn)行(正在運(yùn)行或在運(yùn)行隊(duì)列中等待)

2. 中斷(休眠中, 受阻, 在等待某個(gè)條件的形成或接受到信號(hào))

3. 不可中斷(收到信號(hào)不喚醒和不可運(yùn)行, 進(jìn)程必須等待直到有中斷發(fā)生)

4. 僵死(進(jìn)程已終止, 但進(jìn)程描述符存在, 直到父進(jìn)程調(diào)用wait4()系統(tǒng)調(diào)用后釋放)

5. 停止(進(jìn)程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號(hào)后停止運(yùn)行運(yùn)行)

ps工具標(biāo)識(shí)進(jìn)程的5種狀態(tài)碼:

D 不可中斷 uninterruptible sleep (usually IO)

R 運(yùn)行 runnable (on run queue)

S 中斷 sleeping

T 停止 traced or stopped

Z 僵死 a defunct (”zombie”) process

注: 其它狀態(tài)還包括W(無(wú)駐留頁(yè)), <(高優(yōu)先級(jí)進(jìn)程), N(低優(yōu)先級(jí)進(jìn)程), L(內(nèi)存鎖頁(yè)).

使用ps格式輸出來查看進(jìn)程狀態(tài):

ps -eo user,stat..,cmd

user 用戶名

uid 用戶號(hào)

pid 進(jìn)程號(hào)

ppid 父進(jìn)程號(hào)

size 內(nèi)存大小, Kbytes字節(jié).

vsize 總虛擬內(nèi)存大小, bytes字節(jié)(包含code+data+stack)

share 總共享頁(yè)數(shù)

nice 進(jìn)程優(yōu)先級(jí)(缺省為0, 最大為-20)

priority(pri) 內(nèi)核調(diào)度優(yōu)先級(jí)

pmem 進(jìn)程分享的物理內(nèi)存數(shù)的百分比

trs 程序執(zhí)行代碼駐留大小

rss 進(jìn)程使用的總物理內(nèi)存數(shù), Kbytes字節(jié)

time 進(jìn)程執(zhí)行起到現(xiàn)在總的CPU暫用時(shí)間

stat 進(jìn)程狀態(tài)

cmd(args) 執(zhí)行命令的簡(jiǎn)單格式

例子:

查看當(dāng)前系統(tǒng)進(jìn)程的uid,pid,stat,pri, 以u(píng)id號(hào)排序.

ps -eo pid,stat,pri,uid –sort uid

查看當(dāng)前系統(tǒng)進(jìn)程的user,pid,stat,rss,args, 以rss排序.

ps -eo user,pid,stat,rss,args –sort rss

名稱:ps

使用權(quán)限:所有使用者

使用方式:ps [options] [--help]

說明:顯示瞬間行程 (process) 的動(dòng)態(tài)

參數(shù):

ps 的參數(shù)非常多, 在此僅列出幾個(gè)常用的參數(shù)并大略介紹含義

-A 列出所有的行程

-w 顯示加寬可以顯示較多的資訊

-au 顯示較詳細(xì)的資訊

-aux 顯示所有包含其他使用者的行程

au(x) 輸出格式 :

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

USER: 行程擁有者

PID: pid

%CPU: 占用的 CPU 使用率

%MEM: 占用的記憶體使用率

VSZ: 占用的虛擬記憶體大小

RSS: 占用的記憶體大小

TTY: 終端的次要裝置號(hào)碼 (minor device number of tty)

STAT: 該行程的狀態(tài):

D: 不可中斷的靜止

R: 正在執(zhí)行中

S: 靜止?fàn)顟B(tài)

T: 暫停執(zhí)行

Z: 不存在但暫時(shí)無(wú)法消除

W: 沒有足夠的記憶體分頁(yè)可分配

<: 高優(yōu)先序的行程

N: 低優(yōu)先序的行程

L: 有記憶體分頁(yè)分配并鎖在記憶體內(nèi)

START: 行程開始時(shí)間

TIME: 執(zhí)行的時(shí)間

COMMAND:所執(zhí)行的指令

范例:

ps

PID TTY TIME CMD

2791 ttyp0 00:00:00 tcsh

3092 ttyp0 00:00:00 ps

% ps -A

PID TTY TIME CMD

1 ? 00:00:03 init

2 ? 00:00:00 kflushd

3 ? 00:00:00 kpiod

4 ? 00:00:00 kswapd

5 ? 00:00:00 mdrecoveryd

.......

% ps -aux

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

root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]

root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]

root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]

root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]

........

要對(duì)進(jìn)程進(jìn)行監(jiān)測(cè)和控制,首先必須要了解當(dāng)前進(jìn)程的情況,也就是需要查看當(dāng)前進(jìn)程,而 ps 命令就是最基本同時(shí)也是非常強(qiáng)大的進(jìn)程查看命令。使用該命令可以確定有哪些進(jìn)程正在運(yùn)行和運(yùn)行的狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程有沒有僵死、哪些進(jìn)程占用了過多的資源等等??傊蟛糠中畔⒍际强梢酝ㄟ^執(zhí)行該命令得到的。

ps 為我們提供了進(jìn)程的一次性的查看,它所提供的查看結(jié)果并不動(dòng)態(tài)連續(xù)的;如果想對(duì)進(jìn)程時(shí)間監(jiān)控,應(yīng)該用 top 工具。

kill 用于殺死進(jìn)程。

1、ps 的參數(shù)說明

ps 提供了很多的選項(xiàng)參數(shù),常用的有以下幾個(gè):

l 長(zhǎng)格式輸出;

u 按用戶名和啟動(dòng)時(shí)間的順序來顯示進(jìn)程;

j 用任務(wù)格式來顯示進(jìn)程;

f 用樹形格式來顯示進(jìn)程;

a 顯示所有用戶的所有進(jìn)程(包括其它用戶);

x 顯示無(wú)控制終端的進(jìn)程;

r 顯示運(yùn)行中的進(jìn)程;

ww 避免詳細(xì)參數(shù)被截?cái)啵?/p>

我們常用的選項(xiàng)是組合是 aux 或 lax,還有參數(shù) f 的應(yīng)用。

2、ps aux 或 lax 輸出的解釋

USER 進(jìn)程的屬主;

PID 進(jìn)程的ID;

PPID 父進(jìn)程;

%CPU 進(jìn)程占用的CPU百分比;

%MEM 占用內(nèi)存的百分比;

NI 進(jìn)程的NICE值,數(shù)值大,表示較少占用CPU時(shí)間;

VSZ 進(jìn)程虛擬大?。?/p>

RSS 駐留中頁(yè)的數(shù)量;

TTY 終端ID

STAT 進(jìn)程狀態(tài)(有以下幾種)

D 無(wú)法中斷的休眠狀態(tài)(通常 IO 的進(jìn)程);

R 正在運(yùn)行可中在隊(duì)列中可過行的;

S 處于休眠狀態(tài);

T 停止或被追蹤;

W 進(jìn)入內(nèi)存交換(從內(nèi)核2.6開始無(wú)效);

X 死掉的進(jìn)程(從來沒見過);

Z 僵尸進(jìn)程;

< 優(yōu)先級(jí)高的進(jìn)程

N 優(yōu)先級(jí)較低的進(jìn)程

L 有些頁(yè)被鎖進(jìn)內(nèi)存;

s 進(jìn)程的領(lǐng)導(dǎo)者(在它之下有子進(jìn)程);

l 多進(jìn)程的(使用 CLONE_THREAD, 類似 NPTL pthreads);

+ 位于后臺(tái)的進(jìn)程組;

WCHAN 正在等待的進(jìn)程資源;

START 啟動(dòng)進(jìn)程的時(shí)間;

TIME 進(jìn)程消耗CPU的時(shí)間;

COMMAND 命令的名稱和參數(shù);

3、應(yīng)用舉例

[root@localhost ~]# ps -aux |more

可以用 | 管道和 more 連接起來分頁(yè)查看。

[root@localhost ~]# ps -aux > ps001.txt

[root@localhost ~]# more ps001.txt

這里是把所有進(jìn)程顯示出來,并輸出到ps001.txt文件,然后再通過more 來分頁(yè)查看。

4、kill 終止進(jìn)程

有十幾種控制進(jìn)程的方法,下面是一些常用的方法:

kill -STOP [pid]

發(fā)送SIGSTOP (17,19,23)停止一個(gè)進(jìn)程,而并不消滅這個(gè)進(jìn)程。

kill -CONT [pid]

發(fā)送SIGCONT (19,18,25)重新開始一個(gè)停止的進(jìn)程。

kill -KILL [pid]

發(fā)送SIGKILL (9)強(qiáng)迫進(jìn)程立即停止,并且不實(shí)施清理操作。

kill -9 -1

終止你擁有的全部進(jìn)程。

SIGKILL 和 SIGSTOP 信號(hào)不能被捕捉、封鎖或者忽略,但是,其它的信號(hào)可以。所以這是你的終極武器。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,333評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,491評(píng)論 3 416
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,263評(píng)論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,946評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,708評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,186評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,255評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,409評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,939評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,774評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,976評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,518評(píng)論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,209評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,641評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,872評(píng)論 1 286
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,650評(píng)論 3 391
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,958評(píng)論 2 373

推薦閱讀更多精彩內(nèi)容