1. 程式人生 > >Linux 下的任務管理 —— ps、top

Linux 下的任務管理 —— ps、top

ps:report a snapshot of the current processes.

ps 命令支援三種使用的語法格式

  • UNIX 風格,選項可以組合在一起,並且選項前必須有“-”連字元
  • BSD 風格,選項可以組合在一起,但是選項前不能有“-”連字元
  • GNU 風格的長選項,選項前有兩個“-”連字元

0. 簡介

  • pkill 與 kill 功能類似,區別在於預設情況下,pkill 接受的是程序名,而非程序id;
  • top 與 ps -aux –sort -pcpu/-pmem 的區別在於,top 顯示的是實時狀態;

1. ps 常見引數

  • 檢視當前執行的應用程式:ps -e;

    • ps -e | grep ssh

    -e 顯示所有程序。
    -f 全格式。
    ps e (不帶橫線)列出程式時,顯示每個程式所使用的環境變數。
    ps f (不帶橫線)用 ASCII 字元顯示樹狀結構,表達程式間的相互關係

  • 顯示所有當前程序,使用 -a 引數。

    • -a 代表 all。同時加上x引數會顯示沒有控制終端的程序。
    $ ps -ax
    這個命令的結果或許會很長。為了便於檢視,可以結合less命令和管道來使用。
    $ ps -ax | less
  • 根據使用者過濾程序:在需要檢視特定使用者程序的情況下,我們可以使用 -u 引數。比如我們要檢視使用者’pungki’的程序,可以通過下面的命令:

    ps -u pungki
  • 通過 cpu 和記憶體使用來過濾程序

    ps -aux | less

    當結果很長時,我們可以使用管道和less命令來篩選。
    預設的結果集是未排好序的。可以通過 –sort命令來排序。
    根據 CPU 使用來升序排序

    $ ps -aux --sort -pcpu | less

    同樣對於記憶體使用:

    $ ps -aux --sort -pmem | less