歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux操作系統PS命令詳細解析

Linux操作系統PS命令詳細解析   要對系統中進程進行監測控制,用 ps 命令滿足你。 /bin/ps ps 是顯示瞬間行程的狀態,並不動態連續;如果想對進程運行時間監控,應該用 top 工具。   kill 用於殺死進程。 ==============ps 的參數說明============================ l 長格式輸出; u 按用戶名和啟動時間的順序來顯示進程; j 用任務格式來顯示進程; f 用樹形格式來顯示進程; a 顯示所有用戶的所有進程(包括其它用戶); x 顯示無控制終端的進程; r 顯示運行中的進程; ww 避免詳細參數被截斷;   -A 列出所有的行程 -w 顯示加寬可以顯示較多的資訊 -au 顯示較詳細的資訊 -aux 顯示所有包含其他使用者的行程 -e 顯示所有進程,環境變量 -f 全格式 -h 不顯示標題 -l 長格式 -w 寬輸出 a   顯示終端上地所有進程,包括其他用戶地進程 r   只顯示正在運行地進程 x   顯示沒有控制終端地進程 我們常用的選項是組合是 aux 或 lax,還有參數 f 的應用。 O[+|-] k1 [,[+|-] k2 [,…]] 根據SHORT KEYS、k1、k2中快捷鍵指定地多級排序順序顯示進程列表.   對於ps地不同格式都存在著默認地順序指定.這些默認順序可以被用戶地指定所覆蓋.在這裡面“+”字符是可選地,“-”字符是倒轉指定鍵地方向. pids 只列出進程標識符,之間運用逗號分隔.該進程列表必須在命令行參數地最後一個選項後面緊接著給出,中間不能插入空格.比如:ps -f1,4,5.   下介紹長命令行選項,這些選項都運用“--”開頭: --sort X[+|-] key [,[+|-] key [,…]] 從SORT KEYS段中選一個多字母鍵.“+”字符是可選地,因為默認地方向就是按數字升序或者詞典順序.比如: ps -jax -sort=uid,- ppid,+pid. --help 顯示幫助信息.   --version 顯示該命令地版本信息. 在前面地選項說明中提到了排序鍵,接下來對排序鍵作進一步說明.需要注意地是排序中運用地值是ps運用地內部值,並非僅用於某些輸出格式地偽值.排序鍵列表見下表. ============排序鍵列表==========================   c cmd   可執行地簡單名稱 C cmdline   完整命令行 f flags   長模式標志 g pgrp   進程地組ID G tpgid   控制tty進程組ID j cutime   累計用戶時間 J cstime   累計系統時間 k utime   用戶時間 K stime   系統時間 m min_flt   次要頁錯誤地數量 M maj_flt   重點頁錯誤地數量 n cmin_flt 累計次要頁錯誤 N cmaj_flt 累計重點頁錯誤 o session   對話ID p pid   進程ID P ppid   父進程ID r rss   駐留大小 R resident 駐留頁 s size   內存大小(千字節) S share   共享頁地數量 t tty   tty次要設備號 T start_time 進程啟動地時間 U uid   UID u user   用戶名 v vsize   總地虛擬內存數量(字節) y priority 內核調度優先級 =================ps aux 或 lax 輸出的解釋========================= 2、ps aux 或 lax 輸出的解釋 au(x) 輸出格式 : USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND   USER: 進程所有者 PID: 進程ID %CPU: 占用的 CPU 使用率 %MEM: 占用的內存使用率 VSZ: 占用的虛擬內存大小 RSS: 占用的內存大小 TTY: 終端的次要裝置號碼 (minor device number of tty) STAT: 進程狀態: START: 啟動進程的時間; TIME: 進程消耗CPU的時間; COMMAND:命令的名稱和參數; =================進程STAT狀態==================== D 無法中斷的休眠狀態(通常 IO 的進程); R 正在運行,在可中斷隊列中; S 處於休眠狀態,靜止狀態; T 停止或被追蹤,暫停執行; W 進入內存交換(從內核2.6開始無效); X 死掉的進程; Z 僵屍進程不存在但暫時無法消除; W: 沒有足夠的記憶體分頁可分配 WCHAN 正在等待的進程資源; <: 高優先級進程 N: 低優先序進程 L: 有記憶體分頁分配並鎖在記憶體內 (即時系統或捱A I/O),即,有些頁被鎖進內存   s 進程的領導者(在它之下有子進程); l 多進程的(使用 CLONE_THREAD, 類似 NPTL pthreads); + 位於後台的進程組; ================kill 終止進程========================= kill 終止進程 有十幾種控制進程的方法,下面是一些常用的方法: kill -STOP [pid] 發送SIGSTOP (17,19,23)停止一個進程,而並不消滅這個進程。 kill -CONT [pid] 發送SIGCONT (19,18,25)重新開始一個停止的進程。 kill -KILL [pid] 發送SIGKILL (9)強迫進程立即停止,並且不實施清理操作。 kill -9 -1 終止你擁有的全部進程。 SIGKILL 和 SIGSTOP 信號不能被捕捉、封鎖或者忽略,但是,其它的信號可以。所以這是你的終極武器。 =================范例======================== $ ps PID TTY TIME COMMAND 5800 ttyp0 00:00:00 bash 5835 ttyp0 00:00:00 ps 可以看到,顯示地項目共分為四項,依次為PID(進程ID)、TTY(終端名稱)、TIME(進程執行時間)、COMMAND(該進程地命令行輸入). 可以運用u選項來查看進程所有者及其他少許詳細信息,如下所示: $ ps u USER PID %CPU %MEM USZ RSS TTY STAT START TIME COMMAND test 5800 0.0 0.4 1892 1040 ttyp0 S Nov27 0:00 -bash test 5836 0.0 0.3 2528 856 ttyp0 R Nov27 0:00 ps u 在bash進程前面有條橫線,意味著該進程便是用戶地登錄shell,所以對於一個登錄用戶來說帶短橫線地進程只有一個.還可以看到%CPU、%MEM兩個選項,前者指該進程占用地CPU時間 和總時間地百分比;後者指該進程占用地內存和總內存地百分比. 在這種情況下看到了所有控制終端地進程;當然對於其他那些沒有控制終端地進程還是沒有觀察到,所以這時就需要運用x選項.運用x選項可以觀察到所有地進程情況. 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  顯示所有程序,不以終端機來區分。  最常用的方法是ps -aux,然後再用管道符號導向到grep去查找特定的進程,然後再對特定的進程進行操作。  
Copyright © Linux教程網 All Rights Reserved