Linux進程管理

來源:互聯網
上載者:User

標籤:current   linux   report   資源   如何   

在Linux中有哪些比較重要或常見的進程?
如何查看進程列表及使用資源情況?
如何殺死進程?

進程管理類命令:
pstree , ps , top , vmstat ,htop ,pmap

ps命令Process Status (report a snapshot of the current processes)
將某個時間點的進程運行情況選取下來
選項:
    a:所有跟終端相關的進程
    x:所有跟終端無關的進程
    u:以使用者為中心顯示進程相關資訊
    e:顯示所有進程
    f:完整格式列表
    F:顯示額外資訊
    H:顯示進程層次關係
    o:自訂欄位顯示
常用選項:
    ps -l:查閱自己的bash程式
        輸出:
            F:進程標誌(process flags)說明這個進程的許可權
                4:表示此進程的許可權為root
                1:表示此子進程僅可進行複製,而無法實際執行
            S:進程的狀態
                R:運行中
                S:睡眠,但可以被喚醒
                D:不可被喚醒的睡眠狀態,通常這個進程可能在等待I/O的情況
                T:停止狀態
                Z:(zombie)僵死狀態
            UID/PID/PPID:使用者ID/進程ID/父進程的進程ID
            C:CPU使用率
            PRI/NI:priority/nice的縮寫,表示優先順序
            ADDR/SZ/WCHAN:記憶體相關
            ADDR是kernel function表示進程在記憶體的那個部分
            SZ表示進程消耗的記憶體
            WCHAN表示進程是否在運行
            TTY:相關的終端,沒有用"?"表示
            CMD:command縮寫,造成此程式被觸發的命令
    ps aux:查看所有運行程式
        輸出:
            USER:使用者帳號
            %CPU:CPU使用率
            %MEM:佔用實際記憶體比例
            VSZ:虛擬記憶體大小 virtual memory size
            RSS:非互動實體記憶體
            STAT:
                S:sleeping可中斷
                D:不可中斷睡眠
                R:運行或可運行
                T:終止
                Z:僵死
                s:session leader
                l:多線程進程
                +:前台進程
                N:低優先順序進程
                <:高優先順序進程
            START:改進程目前的狀態,與ps -l中的S標識相同
            TIME:改進程時間使用CPU啟動並執行時間
            COMMAND:改進程的實際命令

top命令 display Linux tasks
選項:

    -d:後面跟秒數,就是整個進程解密更新的秒數,預設5秒
    -b:以批次的方式執行top
    -n:與-b搭配使用,表示執行幾次top
    -p:指定某個PID來監測
快速鍵:
    ?:顯示在top當前可以輸入的按鍵命令
    P:以CPU的使用資源排序顯示
    M:以記憶體的使用資源排序
    N:以PID排序
    T:按該進程使用CPU時間累積排序
    k:給某個PID一個訊號
    r:給某個PID設定nice值
    q:退出
輸出:
    PID:進程ID
    USER:使用者名稱
    PR:priority 優先順序,越小層級越大
    NI:nice值,與priority有關,也是越小越早被執行
    %CPU:CPU使用率
    TIME+:CPU使用時間的累加
注意:
    top預設排序按%CPU
   

htop命令
需要額外安裝


pstree命令(display a tree of processes)
選項:
    -A:各進程樹之間的串連以ASCII字元來串連
    -U:各進程樹之間的串連以utf8字元來串連
    -p:列出每個進程的PID
    -u:列出每個進程的屬主

   
進程間的通訊:IPC
訊號:signal
1    SIGUP    讓進程不用終止,而重讀其設定檔
2    SIGINT    中斷正在啟動並執行進程,相當於ctrl+c
9    SIGKILL    殺死進程
15    SIGTERM    正常終止進程
17    SIGSTOP    相當於ctrl+z暫停一個進程
查看協助:man 7 signal

向其他進程傳遞訊號,使用kill
kill -signal pid
kill可以將訊號傳遞給某個job(%jobnumber)或者某個PID

Linux作業控制
jobs命令查看作業資訊
ctrl+z:將作業從前台送往後台,同時進程會停止執行
bg jobid 進程將在後台運行
fg %jobid 調回前台
kill %jobid 殺死作業

Linux進程管理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.