Day20-進程管理

一、什么是進程?

當(dāng)我們運行一個程序腻格,那么我們將運行的程序叫做進程

二务荆、程序與進程之間有什么區(qū)別?

1、程序是數(shù)據(jù)和指令的集合,是一個靜態(tài)的概念。比如/bin/ls姐叁、/bin/cp等二進制文件。同時程序可以長期存在系統(tǒng)中。

2外潜、進程是程序運行的過程原环,是一個動態(tài)的概念。進程是存在生命周期的概念的处窥,也就是說進程會隨著程序的終止而銷毀嘱吗,不會永久存在系統(tǒng)中。

三滔驾、進程的生命周期谒麦?

生命周期是指一個對象的生老病死,用處很廣哆致。


四绕德、進程運行的狀態(tài)指標(biāo)?

STAT基本狀態(tài)? ? ? ? ?描述? ? ? ? ? ? ? ? ? ?STAT狀態(tài)+符號? ? ? ? ? ? ? ? ? 描述

? ? ? R? ? ? ? ? ? ? ? ? ? ?進程運行? ? ? ? ? ? ? ? ? ? ? s? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?進程是控制進程,Ss進程的領(lǐng)導(dǎo)者摊阀,父進程

? ? ? S? ? ? ? ? ? ? ? ? ? ?可中斷睡眠? ? ? ? ? ? ? ? ? <? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?進程運行在高優(yōu)先級上耻蛇,S<優(yōu)先級較高的進程

? ? ? T? ? ? ? ? ? ? ? ? ? ?進程被暫停? ? ? ? ? ? ? ? ? N? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 進程運行在優(yōu)先級上,SN優(yōu)先級較低的進程

? ? ? D? ? ? ? ? ? ? ? ? ? 不可中斷睡眠? ? ? ? ? ? ? ?+? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 當(dāng)前進程運行在前臺胞此,R+該表示進程在前臺運行

? ? ? Z? ? ? ? ? ? ? ? ? ? 僵尸進程? ? ? ? ? ? ? ? ? ? ? ?I? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?進程是多線程的臣咖,SI表示進程是以線程方式運行

五、如何監(jiān)控進程的狀態(tài)漱牵、靜態(tài)ps夺蛇、動態(tài)top?


#使用 ps aux查看當(dāng)前的進程狀態(tài)(靜態(tài))


狀態(tài)? ? ? ? ? ? ? ? ? ? ?描述

USER? ? ? ? ? ? ? ? ? 啟動進程的用戶

PID? ? ? ? ? ? ? ? ? ? ? 進程運行的ID號

%CPU? ? ? ? ? ? ? ? ?進程占用CPU百分比

%MEM? ? ? ? ? ? ? ? 進程占用內(nèi)存百分比

VSZ? ? ? ? ? ? ? ? ? ? ?進程占用虛擬內(nèi)存大泻ㄕ汀(單位Kb)

RSS? ? ? ? ? ? ? ? ? ? 進程占用物理內(nèi)存實際大械笊狻(單位kb)

TTY? ? ? ? ? ? ? ? ? ? 進程是由哪個終端運行啟動的tty1、pts/0等闻镶? 表示內(nèi)核程序與終端無關(guān)

STAT? ? ? ? ? ? ? ? ? 進程運行過程中的狀態(tài) man ps (/STATE)

START? ? ? ? ? ? ? ?進程的啟動時間

TIME? ? ? ? ? ? ? ? ?進程占用CPU的總時間(為0表示還沒超過秒)

COMMAND? ? ? 程序的運行指令截型,[方括號]屬于內(nèi)核態(tài)的進程。沒有[ ]的是用戶態(tài)進程儒溉。


#使用top命令查看當(dāng)前的進程狀態(tài)(動態(tài))



任務(wù)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 含義

Tasks:129 total? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?當(dāng)前進程的總數(shù)

1 running? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 正在運行的進程數(shù)

128 sleeping? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?睡眠的進程數(shù)

0 stopped? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 停止的進程數(shù)

0 zimbie? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 僵尸進程數(shù)

%Cpu(s):0.7 us? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?系統(tǒng)用戶進程使用CPU百分比

0.7 sy? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 內(nèi)核中的進程占用CPU百分比,通常內(nèi)核是用于硬件進行交互

98.7 id? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?空閑CPU的百分比

0,0 wa? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?CPU等待IO完成的時間

0.0 hi? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?硬中斷发钝,占的CPU百分比

0.0 si? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?軟中斷顿涣,占的CPU百分比

0.0 st? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?比如虛擬機占用物理CPU的時間

#top 常見指令

字母? ? 含義

h? ? ? ? ?查看幫出

1? ? ? ? ?數(shù)字1,顯示所有CPU核心的負(fù)載

z? ? ? ? ?以高亮顯示數(shù)據(jù)

b? ? ? ? ?高亮顯示處于R狀態(tài)的進程

M? ? ? ? 按內(nèi)存使用百分比排序輸出

p? ? ? ? ?按CPU使用百分比排序輸出

q? ? ? ? ?退出top

六酝豪、進程中的iowait 硬中斷涛碑、軟中斷?

Linux 中的中斷處理程序分為上半部和下半部;

上半部對應(yīng)硬件中斷孵淘,用來快速處理中斷

下半部對應(yīng)軟中斷蒲障,用來異步處理上半部未完成的工作

Linux 中的軟中斷包括網(wǎng)絡(luò)收發(fā)、定時、調(diào)度揉阎、等各種類型庄撮,可以通過查看 /proc/softirqs 來觀察軟中斷的運行情況

七、如何管理進程kill毙籽、killall洞斯、pkill?

#當(dāng)程序運行為進程后坑赡,如果希望停止進程烙如,我們可以使用Linux的kill命令對進程發(fā)送關(guān)閉信號,除了kill毅否、還有killall亚铁、pkill

1、使用kill -l列出當(dāng)前系統(tǒng)所支持的信號


雖然linux支持信號很多螟加,但是我們僅列出最為常用的三個信號

數(shù)字編號? ? ? ? ? ?信號含義? ? ? ? ? ? ? 信號翻譯

? ? 1? ? ? ? ? ? ? ? ? ? SIGHUP? ? ? ? ? ? ? 通常用來重新加載配置文件

? ? 9? ? ? ? ? ? ? ? ? ? SIGKILL? ? ? ? ? ? ? 強制殺死進程

? ?15? ? ? ? ? ? ? ? ? ?SIGTERM? ? ? ? ? ?終止進程徘溢,默認(rèn)kill使用該信號

#1、給 vsftpd 進程發(fā)送信號 1仰迁,15


#2甸昏、發(fā)送重截信號,例如 vsftpd 的配置文件發(fā)生改變徐许,希望重新加載

[root@localhost ~]# kill -1 9160

#3施蜜、發(fā)送停止信號,當(dāng)然vsfpd 服務(wù)有停止的腳本 systemctl stop vsftpd

[root@localhost ~]# kill 9160

#4雌隅、發(fā)送強制停止信號翻默,當(dāng)無法停止服務(wù)時,可強制終止信號

[root@localhost ~]# kill -9 9160


2恰起、Linux系統(tǒng)中的killall修械、pkill命令用于殺死指定名字的進程

#1、通過服務(wù)器名稱殺掉進程

[root@localhost ~]# pkill nginx

[root@localhost ~]# killall nginx

#2检盼、使用pkill踢出從遠程登錄到本機的用戶肯污,終止pts/0上的所有進程,并且bash也結(jié)束(用戶被強制退出)

[root@localhost ~]# pkill -9 -t pts/0

八吨枉、后臺進程如何管理 jobs bg fg screen蹦渣?

1.jobs、bg貌亭、fg的使用(不太重要柬唯,了解即可)

[root@localhost ~]# sleep 3000 &? ? ? ?//運行程序(時),讓其在后臺執(zhí)行

[root@localhost ~]# sleep 4000? ? ? ? ? //^Z,將前臺的程序掛起(暫停)到后臺


[root@localhost ~]# ps aux | grep sleep

[root@localhost ~]# jobs? ? ? ? ? ? ?//查看后臺作業(yè)


[root@localhost ~]# bg %2? ? ? ? //讓作業(yè)2在后臺運行

[root@localhost ~]# g %1? ? ? ? //讓作業(yè)1調(diào)回到前臺

[root@localhost ~]# kill %1? ? ? ?//kill 1,終止 pid 為1 的進程


[root@localhost ~]# (while:; do date; sleep 2; done)& //進程在后臺運行圃庭,但輸出依然在當(dāng)前終端

[root@localhost ~]# (while:; do date; sleep 2; done)& >//dev/null &

2.screen的使用(重要锄奢,生產(chǎn)必用)

#1失晴、安裝

[root@localhost ~]# yum install screen -y

#2、開啟一個screen窗口拘央,指定名稱

[root@localhost ~]# screen -s wget_mysql

#3涂屁、在screen窗口中執(zhí)行任務(wù)即可

#4、平滑的退出screen堪滨,但不會終止screen中的任務(wù)? ? ? ? ? ? ?#如果使用exit胯陋,才算真的關(guān)閉screen窗口

ctrl+a+d

#5、查看當(dāng)前正在運行的screen有哪些

[root@localhost ~]# screen -list

#6袱箱、進入正在運行的screen

[root@localhost ~]# screen -r wget_mysql

[root@localhost ~]# screen -r 22058

九遏乔、進程優(yōu)先級是什么?nice发笔、renice?服務(wù)器假死盟萨?

優(yōu)先級指的是優(yōu)先享受資源,比如排隊買票時了讨,軍人優(yōu)先捻激,老人優(yōu)先等等

1、使用top或ps命令查看進程的優(yōu)先級

#1.使用top可以查看nice優(yōu)先級? ? NI: 實際nice級別前计,默認(rèn)是0胞谭。 PR: 顯示nice值,-20映射到0男杈,+19映射到39

#2.使用ps查看進程優(yōu)先級

[root@localhost ~]# ps axo command,nice |grep sshd|grep -v grep

2丈屹、nice指定程序的優(yōu)先級? ? 語法格式 nice -n 優(yōu)先級數(shù)字 進程名稱

#1.開啟vim并且指定程序優(yōu)先級為-5

[root@localhost ~]# nice -n -5 vim &

3、enice命令修改一個正在運行的進程優(yōu)先級伶棒。語法格式 renice -n 優(yōu)先級數(shù)字 進程pid

#1.查看sshd進程當(dāng)前的優(yōu)先級狀態(tài)

[root@locolhost ~]# ps axo pid,command,nice | grep? 折疊 shd

#2.調(diào)整sshd主進程的優(yōu)先級

[root@localhost ~]# renice -n 20 98002

#3.調(diào)整之后記得退出終端

[root@localhost ~]# ps axo pid,command,nice | grep 折疊 shd

[root@localhost ~]# exit

#4.當(dāng)再次登錄sshd服務(wù)旺垒,會由主進程fork子進程(那么子進程會繼承主進程的優(yōu)先級)

[root@localhost ~]# ps axo pid,command,nice | grep 折疊 shd

#服務(wù)器假死

假死,就是能ping通肤无,但是ssh不上去先蒋,任何其他操作也沒反應(yīng)

#建議使用nice將sshd的進程優(yōu)先級調(diào)高。這樣當(dāng)系統(tǒng)內(nèi)存吃緊宛渐,還能勉強登陸sshd竞漾,進入調(diào)試,然后分析故障

十窥翩、SATA狀態(tài)的S畴蹭、Ss、S<鳍烁、S、S+繁扎、R幔荒、R+糊闽、D、T爹梁、Z等等右犹,都是什么意思?

SATA基本狀態(tài)? ? ? ? ? ? ? ? ? ? 描述? ? ? ? ? ? ? ? ? ? ? ? ? ? ?STAT狀態(tài)+符號? ? ? ? ? ? ? ? ? ? ? ?描述

? ? ? ? ? R? ? ? ? ? ? ? ? ? ? ? ? ? ? ?進程運行? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? s? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 進程是控制進程姚垃,Ss進程的領(lǐng)導(dǎo)者念链,父進程

? ? ? ? ? S? ? ? ? ? ? ? ? ? ? ? ? ? ? ?可中斷睡眠? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 進程運行在高優(yōu)先級上,S<優(yōu)先級較高的進程

? ? ? ? ? T? ? ? ? ? ? ? ? ? ? ? ? ? ? ?進程被暫停? ? ? ? ? ? ? ? ? ? ? ? ? ? ? N? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 進程運行在優(yōu)先級上积糯,SN優(yōu)先級較低的進程

? ? ? ? ? D? ? ? ? ? ? ? ? ? ? ? ? ? ? 不可中斷睡眠? ? ? ? ? ? ? ? ? ? ? ? ? ?+? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 當(dāng)前進程運行在前臺掂墓,R+表示該進程在前臺運行

? ? ? ? ? Z? ? ? ? ? ? ? ? ? ? ? ? ? ? ?僵尸進程? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? I? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?進程是多線程的,SI表示進程是以線程方式運行

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末看成,一起剝皮案震驚了整個濱河市君编,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌川慌,老刑警劉巖吃嘿,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異梦重,居然都是意外死亡兑燥,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門琴拧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來降瞳,“玉大人,你說我怎么就攤上這事艾蓝×Τ纾” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵赢织,是天一觀的道長亮靴。 經(jīng)常有香客問我,道長于置,這世上最難降的妖魔是什么茧吊? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮八毯,結(jié)果婚禮上搓侄,老公的妹妹穿的比我還像新娘。我一直安慰自己话速,他們只是感情好讶踪,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著泊交,像睡著了一般乳讥。 火紅的嫁衣襯著肌膚如雪柱查。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天云石,我揣著相機與錄音唉工,去河邊找鬼。 笑死汹忠,一個胖子當(dāng)著我的面吹牛淋硝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播宽菜,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼谣膳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了赋焕?” 一聲冷哼從身側(cè)響起参歹,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎隆判,沒想到半個月后犬庇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡侨嘀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年臭挽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咬腕。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡欢峰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出涨共,到底是詐尸還是另有隱情纽帖,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布举反,位于F島的核電站懊直,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏火鼻。R本人自食惡果不足惜室囊,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望魁索。 院中可真熱鬧融撞,春花似錦、人聲如沸粗蔚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鹏控。三九已至冬念,卻和暖如春趁窃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背急前。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瀑构,地道東北人裆针。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像寺晌,于是被迫代替她去往敵國和親世吨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

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

  • 昨日回顧 1.什么是硬盤呻征, 什么是磁盤 2.磁盤內(nèi)部結(jié)構(gòu)*磁道耘婚,金屬顆粒*磁頭 由馬達帶動主軸旋轉(zhuǎn)盤面,磁頭磁化磁...
    a幕城閱讀 185評論 0 1
  • 今日內(nèi)容 1.什么是進程 進程是指在系統(tǒng)中正在運行的一個應(yīng)用程序陆赋;線程是系統(tǒng)分配處理器時間資源的基本單元沐祷,或者說進...
    5不忘初心0閱讀 312評論 0 0
  • 1.什么是進程? 開發(fā)寫的代碼我們稱之為程序,那么將程序運行起來攒岛,就叫進程 PS: 那么在程序運行成進程后赖临,系統(tǒng)會...
    不懂helloword閱讀 257評論 0 0
  • 今日總結(jié) 1.什么是進程 我們將寫好的代碼叫做程序,把程序運行起來叫做進程灾锯。也就是當(dāng)我們運行一個程序兢榨,我們將運行起...
    so_q閱讀 193評論 0 0
  • 1.什么是進程?2.程序與進程之間有什么區(qū)別?3.進程的生命周期?4.進程運行的狀態(tài)指標(biāo)?5.如何監(jiān)控進程的狀態(tài)、...
    Demon_7636閱讀 433評論 0 0