shell ps命令


shell ps命令

查看Nginx進程id方法:ps aux | grep Nginx   殺進程:   kill -9 具體的PID

ps命令的作用  

  要對進程進行監測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而ps命令就是最基本同時也是非常強大的進程查看命令.使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵屍、哪些進程占用了過多的資源等等.總之大部分信息都是可以通過執行該命令得到的.
  ps命令最常用的還是用於監控后台進程的工作情況,因為后台進程是不和屏幕鍵盤這些標准輸入/輸出設備進行通信的,所以如果需要檢測其情況,便可以使用ps命令了.

ps常用命令

1)ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
2)ps -A 顯示所有程序。
3)ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
4)ps -e 此參數的效果和指定"A"參數相同。
5)ps e 列出程序時,顯示每個程序所使用的環境變量。
6)ps f 用ASCII字符顯示樹狀結構,表達程序間的相互關系。
7)ps -H 顯示樹狀結構,表示程序間的相互關系。
8)ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
9)ps s 采用程序信號的格式顯示程序狀況。
10)ps S 列出程序時,包括已中斷的子程序資料。
11)ps -t<終端機編號>  指定終端機編號,並列出屬於該終端機的程序的狀況。
12)ps u  以用戶為主的格式來顯示程序狀況。
13)ps x  顯示所有程序,不以終端機來區分。

14) ps -aux 顯示所有包含其他使用者的行程

在終端中輸入ps,會顯示

PID: 運行着的命令(CMD)的進程編號
TTY: 命令所運行的位置(終端)
TIME: 運行着的該命令所占用的CPU處理時間
CMD: 該進程所運行的命令
這些信息在顯示時未排序。

最常用的方法是ps -aux,然后再利用一個管道符號導向到grep去查找特定的進程,然后再對特定的進程進行操作。

在終端中輸入ps -aux,會顯示

USER 用戶名
UID 用戶ID(User ID)
PID 進程ID(Process ID)
PPID 父進程的進程ID(Parent Process id)
SID 會話ID(Session id)
%CPU 進程的cpu占用率
%MEM 進程的內存占用率
VSZ 進程所使用的虛存的大小(Virtual Size)
RSS 進程使用的駐留集大小或者是實際內存的大小,Kbytes字節。
TTY 與進程關聯的終端(tty)
STAT 進程的狀態:進程狀態使用字符表示的(STAT的狀態碼)
R 運行 Runnable (on run queue) 正在運行或在運行隊列中等待。
S 睡眠 Sleeping 休眠中, 受阻, 在等待某個條件的形成或接受到信號。
I 空閑 Idle
Z 僵死 Zombie(a defunct process) 進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用后釋放。
D 不可中斷 Uninterruptible sleep (ususally IO) 收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生。
T 終止 Terminate 進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號后停止運行運行。
P 等待交換頁
W 無駐留頁 has no resident pages 沒有足夠的記憶體分頁可分配。
X 死掉的進程
< 高優先級進程 高優先序的進程
N 低優先 級進程 低優先序的進程
L 內存鎖頁 Lock 有記憶體分頁分配並縮在記憶體內
s 進程的領導者(在它之下有子進程);
l 多進程的(使用 CLONE_THREAD, 類似 NPTL pthreads)
+ 位於后台的進程組
START 進程啟動時間和日期
TIME 進程使用的總cpu時間
COMMAND 正在執行的命令行命令
NI 優先級(Nice)
PRI 進程優先級編號(Priority)
WCHAN 進程正在睡眠的內核函數名稱;該函數的名稱是從/root/system.map文件中獲得的。
FLAGS 與進程相關的數字標識

 

可以用 | 管道和 more 連接起來分頁查看。
命令:ps -aux |more

 

把所有進程顯示出來,並輸出到ps001.txt文件
命令:ps -aux > ps001.txt

 

輸出指定的字段
命令:ps -o pid,ppid,pgrp,session,tpgid,comm

 

根據 CPU 使用來升序排序

$ ps -aux --sort -pcpu | less

 

根據 內存使用 來升序排序
$ ps -aux --sort -pmem | less

 

樹形顯示進程

$ ps tree

 

查看特定用戶進程

在需要查看特定用戶進程的情況下,我們可以使用 -u 參數。比如我們要查看用戶'pungki'的進程,可以通過下面的命令:

$ ps -u pungki

 

通過進程名和PID過濾
使用 -C 參數,后面跟你要找的進程的名字。比如想顯示一個名為getty的進程的信息,就可以使用下面的命令:

$ ps -C getty

 

顯示所有進程信息,連同命令行

命令:ps -ef


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM