linux ps命令詳解

2021-05-17 16:12:37 字數 2508 閱讀 2124

1. ps簡介

ps命令就是最基本同時也是非常強大的程序檢視命令.使用該命令可以確定有哪些程序正在執行和執行的狀態、程序是否結束、程序有沒有僵死、哪些程序占用了過多的資源等等.總之大部分資訊都是可以通過執行該命令得到的.

2. ps命令及其引數

ps命令最常用的還是用於監控後台程序的工作情況,因為後台程序是不和螢幕鍵盤這些標準輸入/輸出設

備進行通訊的,所以如果需要檢測其情況,便可以使用ps命令了.

該命令語法格式如下:

ps [選項]

-e 顯示所有程序,環境變數

-f 全格式

-h 不顯示標題

-l 長格式

-w 寬輸出

a 顯示終端上的所有程序,包括其他使用者的程序

r 只顯示正在執行的程序

x 顯示沒有控制終端的程序

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使用的內部值,並非僅用於某些輸出格式的偽值.排序鍵列表見表4-3.

表4-3 排序鍵列表

c cmd

可執行的簡單名稱

c cmdline

完整命令列

f flags

長模式標誌

g pgrp

程序的組id

g tpgid

控制tty程序組id

j cutime

累計使用者時間

j cstime

累計系統時間

k utime

使用者時間

kstime

系統時間

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

核心排程優先順序

3. 常用ps命令引數

最常用的三個引數是u、a、x,下面將通過例子來說明其具體用法.

[例20] 以root身份登入系統,檢視當前程序狀況

$ 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選項可以觀察到所有的程序情況.

linux ps 命令詳解

ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。2 ps a 顯示所有程式。3 ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。4 ps e 此引數的效果和指定 a 引數相同。5 ps e 列出程式時,顯示每個程式所使用的環境變數。6 ps f 用a...

linux ps 命令詳解

inux上程序有5種狀態 1.執行 正在執行或在執行佇列中等待 2.中斷 休眠中,受阻,在等待某個條件的形成或接受到訊號 3.不可中斷 收到訊號不喚醒和不可執行,程序必須等待直到有中斷發生 4.僵死 程序已終止,但程序描述符存在,直到父程序呼叫wait4 系統呼叫後釋放 5.停止 程序收到sigst...

linux ps命令使用詳解

ps 是linux 下最常用的也是非常強大的程序檢視命令 1.ps 簡介前面介紹的兩個命令都是用於檢視當前系統使用者的情況,下面就來看看程序的情況,這也是本章的主題。要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序,而 ps命令就是最基本 同時也是非常強大的程序檢視命令。...