4.Linux的進程

4.1 Linux的進程

  4.1.1 進程的概述java

    • 有關進程的一些基本概念:

      1.什麼是進程:vim

        • 當程序被觸發後,執行者的權限與屬性、程序的程序代碼與所需的數據都會被加載到內存中,操做系統並給予這個內存內的單元一個標識符(PID),簡單的說進程就是一個正在運行的程序
        • 進程是程序的具體可實現,它是執行程序的具體過程

      2.如何產生一個進程:bash

        • 在Linux中執行一個程序或者命令就能夠觸發一個事件而取得一個PID(process ID 一個進程的ID),此時就啓動了一個進程
        • init是Linux系統的第一個進程
        • 程序被加載爲進程示意圖:

          

  4.1.2 查看進程

    • 靜態地查看進程:

      1.靜態查看進程的命令其對應的選項:服務器

        語法格式: ps [選項] [參數]ps -- process statu網絡

        經常使用選項有:spa

        

        經常使用的組合選項:操作系統

        

      2.示例.net

        查看系統全部程序數據rest

        

        以樹狀的形式顯示當前系統的全部進程code

        

      3.進程顯示中各項名詞的含義

        如下紅色框中名詞的解釋

        

        

      4.進程有哪些狀態

        如下是進程的狀態字符及其含義:

        

        什麼是殭屍進程:

        • 殭屍進程是指該進車行已經執行完畢,或者是因故障應該要終止,但該進程的父進程沒法完整、有效的將進程結束掉而形成進程一致存在內存中
        • 若是某個進程的CMD後面還接上<defunct>,就表示該進程是殭屍進程

      5.把進程以更好的形式展現
        語法格式: pstree [選項] [參數] 

        經常使用選項:

        

        示例:

        

    • 動態觀察進程的變化:

      1.動態的觀察進程的變化的命令及其選項

        語法格式: top [選項] [參數] 

        經常使用選項:

        

        示例:

        

        在top執行過程當中可使用的按鍵指令:

        

        • 在默認的狀況下top默認的排序方式是按照CPU的使用率進行的,若是多個進程的CUP使用率一致,則優先按照內存的使用量來排序

      2.使用top時,前面5行內容及其各個白色塊中選項的含義

        

        • 第一行顯示的信息:當前的時間,開機到目前爲止所通過的時間,已經登陸系統的用戶人數,系統再1,5,15分鐘的平均工做負載
        • 第二行顯示的信息是:目前進程的總量,個別進程處於什麼狀態(running,sleeping,stopped,zombie)
        • 第三行顯示的信息是:CPU的總體負載
        • 第四行和第五行表示目前的物理內存與虛擬內存的使用狀況
        • 白色塊中選項的含義:

         

      3.將top信息按2次批次輸出到文件中

        示例代碼:  

       [root@localhost]#top -b -n 2 > /home/temp/top.txt
        #成功以後,進入/home/temp目錄查看top.txt文件
       [root@localhost]#cat top.txt 

  4.1.3 進程的管理

    • 進程管理的基本概念

      1.Linux如何對進程進行進程的管理

        • Linux系統使用kill命令來對進程進行管理
        • kill並不僅是殺死進程,它是一個信號指示
    • 進程管理的操做

      1.進程管理的命令及其選項

        語法格式: kill [選項] [參數] 

        經常使用選項:

        

      2.單個進程的管理

        語法格式: kill [信號標識] PID 

      3.多個進程的管理

        語法格式: killall [信號標識] 命令名 

        表示終止以某一個命令名稱啓動的所有進程

      4.示例

        顯示全部kill可用的信號

        

        從新加載並啓動某個進程

        從新加載後,再次查看發現重啓後的進程PID發生了改變

        

        終止httpd進程

        

  4.1.4 系統資源監控

    • 系統資源監控經常使用的命令

      1.Linux系統資源監控經常使用的命令

        系統資源監控經常使用命令的做用

        

    • 查看系統內存使用狀況的操做

      1.查看系統內存使用狀況的命令及其選項

        語法格式: free [選項] [-t] 

        經常使用選項:

        

      2.示例

        顯示當前系統的內存容量

        

        free命令顯示的選項解析(紅色框部分)

        

    • 查看系統與其核心相關信息的操做

      1.相關命令及其選項

        語法格式: uname [選項] 

        經常使用選項:

        

        示例

        

    • 網絡監控:

      1.網絡監控的命令及其選項

        語法格式: natstat [選項] 

        經常使用選項:

        

      2.netstat命令選項顯示詳解

        示例:

        

        紅色框中命令選項詳解:

        

    • 系統防火牆

      1.防火牆的臨時操做:

        放火牆臨時啓動、狀態查看和關閉的語法格式:     

        #啓動防火牆
        service iptables start
        #查看防火牆狀態
        service iptables status
        #關閉防火牆
        service iptables stop
        #重啓防火牆
        service iptables restart

 

        示例:

        

      2.防火牆的永久操做

        防火牆的永久開啓和關閉的語法格式:

         開啓:chkconfig iptables on 關閉:chkconfig iptables off

        注意:防火牆的永久操做須要重啓服務器才能生效

  4.1.5 Linux系統的任務管理

    • Linux的前臺任務和後臺任務

      1.前臺任務的基本概念

        • 能夠控制與執行命令的bash環境
        • 前臺任務是指與正在與用戶進行交互的的程序

      2.後臺任務的基本概念

        • 操做系統自動運行,不須要用戶操做的程序
        • 在Linux系統中能夠經過Ctrl+z將前臺正在執行的任務放到後臺暫停運行,從而實現多任務操做
        • 能夠經過jobs命令來查看後臺執行的任務

      3.如何改善Ctlr+z,程序在後臺暫停運行的弊端

        • 能夠在命令的末尾加上一個"空格"和"&",實現任務在後臺自動運行,並會顯示一個PID,便於操做該任務,當任務完成時,會顯示一個"Done"來告訴用戶已經完成後臺任務
        • 注意:"&"可讓任務在後臺運行,可是不能讓交互式程序在後臺運行

         

      4.Cltr+z和&的區別

        • Ctrl+z將前臺的程序防止後臺---狀態爲暫停
        • 在執行命令後面追加 "&"---狀態爲後臺運行

          

    • 查看後臺任務

      1.查看後臺任務的命令及其選項

        語法格式: jobs [選項] 

        經常使用選項:

        

      2.查看後臺任務時,一些符號的含義

        顯示的符號

        

    • 將後臺程序拿到前臺執行

      1.將後臺程序調到前臺的命令及其選項

        語法格式: fg %jobnumber 

        語法中的%無關緊要,沒有的時候fg直接跟上任務號

        

      2.注意點

        • jobs查看後臺任務時,會出現如下符號

          

        • "+"表明當前的,若是命令fg後面沒有跟任務號,默認將帶"+"的進程調到前臺執行
        • "-"表明僅次於"+"的任務,當"+"號對應的進程被調到前臺後,"-"對應的進程當即變爲"+" 
    • 修改後臺程序狀態和終止jobs任務

      1.修改後臺程序狀態的語法

        語法格式: bg jobnumber 

        此語法表示讓後臺對應任務號的程序變成運行狀態

        若是不加任務號,系統會默認將帶"+"的程序變成運行狀態

      2.注意點

        交互式的任務,在後臺沒法改變它的裝態,可是可以改變fg調用它的順序

        示例:

        

        • bg2理論上來講,已經將任務號爲[2]的任務變成運行狀態,可是執行發現,任務號爲[2]的任務仍然是stop狀態,由於vim是交互式任務,因此沒法在後臺改變它爲運行狀態,可是此時若是執行fg的或會優先將任務號爲[2]的任務調到前臺執行

      3.終止jobs任務

        終止jobs任務就是利用kill命令完成,具體參見4.1.3的進程管理操做部分

相關文章
相關標籤/搜索