<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    十三:現(xiàn)在到底有誰在干什么?進程

    首先,什么是進程,我們要把它和程序明確區(qū)分開來。
    先說一下程序吧,程序是一個靜態(tài)概念,它是“實際存在”于操作系統(tǒng)中的一段指令,或者代碼,總之,它是一段可以被成功解釋的腳本,或者被編譯的代碼,在操作系統(tǒng)中我們可以直觀的看到。
    而進程是一個動態(tài)概念,它是指程序運行的過程。

    *進程和程序沒有直接的關系,一個程序可以啟動多個進程,一個進程可以被多個程序調(diào)用。

    一個常用的查看進程的命令是ps,他能生成一個當前的進程快照
    示例:ps

    直接使用”ps”我們可以看到有兩行數(shù)據(jù),一個bash,也就是當前的shell,另一個就是ps本身。我們看到有一列叫PID,它意為進程的ID;TTY,是teletype的縮寫,表示終端的類型。TIME表示占用CPU的時間。
    不過直接使用ps信息量來得太少,而且他只顯示當前終端相關的進程。
    有一組常用的命令組合是aux,這能給我們提供足夠的信息


    aux選項顯示了所有用戶的進程。值得一提的是,ps能夠接受多個不同版本Unix的參數(shù),比如剛才說的aux這組參數(shù),就是BSD的參數(shù),而列表也是BSD風格的。標準一組常用參數(shù)是-ef,和aux類似。
    以aux這組參數(shù)展示的列表為例,說明一下每一列的含義
    • USER:表示進程的所有者
    • PID:進程ID號
    • %CPU:CPU的使用率
    • %MEM:內(nèi)存的使用率
    • VSZ:虛擬內(nèi)存大小
    • RSS:占用的內(nèi)容的大小
    • START:進程運行的起始時間,超過24個小時則按天顯示
    • TTY:已經(jīng)提過,是終端的類型,但是圖上我們看到很多終端顯示“?”,這表示他們沒有控制終端
    這其中多說一下STATE列,這一列表示進程的狀態(tài),進程的狀態(tài)有很多種
    • R:運行狀態(tài),running
    • S:休眠狀態(tài),sleeping
    • D:不可中斷的休眠狀態(tài)
    • T:進程終止
    • Z:zombie!這是一個死進程,或者說僵尸進程
    • <:高優(yōu)先級別的進程,“不友好的進程”
    • N:低優(yōu)先級別的進程,“友好的進程”
    上面有幾個名詞需要額外說一下
    *僵尸進程:一個進程可以產(chǎn)生另外一個進程,產(chǎn)生的新進程則為子進程,如果子進程已經(jīng)終止,并且父進程沒有從進程列表里清空他,那么子進程就變僵尸了…
    *進程優(yōu)先級別:雖然我們在使用電腦的時候,感覺他同時在做許多事情,但其實他是在飛快的輪換著做很多事,飛快的程度讓我們感覺不出他是在輪換著執(zhí)行,更像是同時執(zhí)行,既然是輪換執(zhí)行,那么就有先后之分,進程優(yōu)先級別越高,那么該進程就會占用更多的CPU時間,級別低的自然就占用的少了。

    和ps相似的一個命令叫pstree,輸出一個樹型結構的進程列表,會展示進程間父/子關系。

    程序啟動時,調(diào)整進程的優(yōu)先級別:nice
    nice只能在程序啟動時調(diào)整他的優(yōu)先級別
    用法:nice -n 程序,n代表優(yōu)先級別,取值范圍是-20~19,取值范圍只能在這里,如果你輸入其他的值,比如-30,那么系統(tǒng)會自動調(diào)整為-20。
    示例:nice –20 我的程序,修改“我的程序”的優(yōu)先級別為-20,。注意,參數(shù)是“–20”,有兩個橫杠,第二個橫杠代表負,第一個橫杠代表參數(shù)。

    修改一個正在運行的程序的優(yōu)先級別:renice
    修改的程序可以正在運行
    用法:renice -n 程序,-n是一個參數(shù)
    示例:renice -5 我的程序,“我的程序”正在運行,修改他的優(yōu)先級別為-5。這里的-n是一個參數(shù),-5表示負五,并不是五。

    動態(tài)的去查看進程:top
    剛才說過,ps命令是生成一個當前進程的快照,意為只是那一個時刻進程的狀態(tài),top命令同樣會產(chǎn)生一組進程列表,但是他會定時刷新這組列表,盡量反映最新的進程狀態(tài),并且會報告一些進程概要。你可以想象一下Windows下的Ctrl+Alt+Delete

    top命令執(zhí)行后,上方會顯示一個進程的概要

    概要中比較明顯的數(shù)值就不一一說明了,但是要看一下那個叫l(wèi)oad average的值,他直譯過來可以叫做平均負載,他有三個值,這反映了系統(tǒng)最后60s,最后5分鐘和最后15分鐘內(nèi)等待運行進程的個數(shù),他可以反映系統(tǒng)忙碌的程度,如果這個值小于1.0,那么說明系統(tǒng)不忙碌。
    CPU相關的百分比,man給出了一個說明,注意其中是否友好的進程,其實是代表了優(yōu)先級高與低的進程。



    查看被暫停的或者后臺任務的狀態(tài):jobs
    要說明這個命令,我們需要先知道讓一個命令后臺執(zhí)行的方法。除了系統(tǒng)的進程以服務的形式在運行之外,我們可以使用&符號來指明一個命令后臺運行,通常他可能是一個耗時的操作,比如備份,大范圍搜索等。
    示例:find / -name [a*]>~/res.txt &
    我們把“&”符號連接在一個命令的后面,使得他變?yōu)楹笈_運行,同時,我們使用jobs命令來查看他們,他可能會是這樣

    我們可以使用fg和bg命令來控制進程在前后臺的切換,比如我們將一個搜索放在后臺執(zhí)行,在他沒有完成之前,通過jobs查看,它會顯示running狀態(tài),此時,我們通過“fg jobs編號”命令可以把后臺正在運行的進程切換到前臺來執(zhí)行。

    進程的控制:kill
    是的,就是這么直白!干掉他!當然,這也是kill命令最常用的作用,終止一個進程。
    示例:kill 進程id,當我們通過ps或者top發(fā)現(xiàn)我們需要操作的進程之后,我們可以使用kill命令來終止相應pid的進程,注意,我這里說的是終止,并不是像命令所說的那樣殺死,因為kill能做的遠不止終止一個進程。我們通過kill -l可以查看我們可以發(fā)送哪些信號給當前進程。

    我們看到,這里有很多“信號”,在我們使用“kill PID”的時候,實際上市使用的“kill -15 PID”,-15是kill對一個進程發(fā)出的默認信號,它代表終止,但是有時候,這種手段并不管用,那么我們需要使用kill -9來終止一個進程,從圖中我們可以看出,-9代表kill,它意味著真正的殺死一個進程。
    因為進程的不同,從而導致了進程接收到終止信號后產(chǎn)生的行為也不同,有些能夠乖乖的終止,但有些不能。聽話的進程在接收到-15(終止信號)后會做一些善后處理之后終止,而那些不聽好的或許不予理睬,那么此時我們需要-9(殺死信號)來終止進程,但是這個信號發(fā)出之后就相當于一棍打死,沒有給進程余地來善后,所以這也是終止進程的殺手锏。

    根據(jù)名字終止進程:killall
    和kill類似,都能夠終止進程,但是killall能夠根據(jù)進程的名稱來終止一個或者一組進程
    示例:killall httpd,終止所有httpd進程,當然,你需要root權限才能終止其他用戶的進程
    一些其他的操作
    *終止一個正在運行的程序:Ctrl+c,注意,c是cancel,不是copy
    *掛起(暫停)一個正在運行的程序:Ctrl+z

    posted on 2015-07-16 11:54 都較瘦 閱讀(107) 評論(0)  編輯  收藏 所屬分類: Linux

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統(tǒng)計

    公告

    博客定位:囿于目前的水平,博客定位在記錄自己的學習心得和隨手的練習

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久久久亚洲精品无码网址| 日本大片在线看黄a∨免费| 久久影院亚洲一区| 狼人大香伊蕉国产WWW亚洲| 波多野结衣久久高清免费| 亚洲日韩精品无码专区加勒比| 久久午夜免费视频| 国产精品亚洲一区二区麻豆| 在线观看免费大黄网站| 亚洲精品伦理熟女国产一区二区| 黄a大片av永久免费| 黄页网址在线免费观看| 黑人大战亚洲人精品一区| 精品无码一级毛片免费视频观看| 亚洲人成人一区二区三区| 中文在线免费不卡视频| 亚洲AV无码久久精品成人| 99热在线精品免费播放6| 亚洲自偷精品视频自拍| 亚洲一区二区视频在线观看| 一级中文字幕乱码免费| 亚洲va久久久噜噜噜久久 | 免费一级做a爰片久久毛片潮| 亚洲精品国自产拍在线观看| 国产精品1024在线永久免费| 亚洲AV日韩AV永久无码下载| 精品女同一区二区三区免费站| 色偷偷亚洲女人天堂观看欧| 永久黄网站色视频免费| 中文无码日韩欧免费视频| 亚洲色四在线视频观看| 成人au免费视频影院| 国产福利免费视频 | 大地资源网高清在线观看免费| 亚洲2022国产成人精品无码区| 三年片在线观看免费大全| 亚洲一区二区三区高清| 成人免费午夜无码视频| 一级毛片成人免费看a| 亚洲福利秒拍一区二区| 99re免费在线视频|