Linux ps命令引數應用說明

2021-07-14 13:24:05 字數 4851 閱讀 2440

linux中的ps命令是process status的縮寫。ps命令用來列出系統中當前執行的那些程序。ps命令列出的是當前那些程序的快照,就是執行ps命令的那個時刻的那些程序,如果想要動態的顯示程序資訊,就可以使用top命令。

要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序,而 ps 命令就是最基本同時也是非常強大的程序檢視命令。使用該命令可以確定有哪些程序正在執行和執行的狀態、程序是否結束、程序有沒有僵死、哪些程序占用了過多的資源等等。總之大部分資訊都是可以通過執行該命令得到的。

ps

[options]

[--help]

引數用途a

顯示所有程序

-a顯示同一終端下的所有程式

-a顯示所有程序

c顯示程序的真實名稱

-n反向選擇

-e等於「-a」

e顯示環境變數

f顯示程式間的關係

-h顯示樹狀結構

r顯示當前終端的程序

t顯示當前終端的所有程式

u指定使用者的所有程序

-au顯示較詳細的資訊

-aux

顯示所有包含其他使用者的行程

-c《命令》

列出指定命令的狀況

–lines《行數》

每頁顯示的行數

–width《字元數》

每頁顯示的字元數

–help

顯示幫助資訊

–version

顯示版本顯示

顯示所有程序資訊

ps -a
[root@localhost test6]# ps -a

pidtty

time

cmd1 ? 00:00

:00 init

2 ? 00:00

:01 migration/0

顯示指定使用者資訊

ps -u root
[root@localhost test6]# ps -u root

pidtty

time

cmd1 ? 00:00

:00 init

2 ? 00:00

:01 migration/0

顯示所有程序資訊,連同命令列

ps -ef
[root@localhost test6]# ps

-efuid

pi***id

cstime

ttytime

cmdroot 1 0 0 nov02 ? 00:00

:00init

[3]root 2 1 0 nov02 ? 00:00

:01[migration/0]

ps 與grep 常用組合用法,查詢特定程序

ps -ef|grep ssh
[root@localhost test6]# ps -ef|grep ssh

root 272010

nov02 ? 00:00

:00 /usr/sbin/sshd

root 17394

2720014

:58 ? 00:00

:00sshd: root@pts/0

將目前屬於您自己這次登入的 pid 與相關資訊列示出來

ps -l
[root@localhost test6]# ps -l

f s uid pid ppid c pri ni addr sz wchan tty time cmd

4 s 0

17398

17394075

0 - 16543

wait pts/0

00:00:00 bash

4 r 0

17469

17398077

0 - 15877 - pts/0

00:00:00 ps

列出目前所有的正在記憶體當中的程式

ps aux
[root@localhost test6]# ps

auxuser

pid %cpu %mem

vszrss

ttystat

start

time

command

root 1 0.0 0.0 10368 676 ? ss

nov02 0:00

init

[3]root 2 0.0 0.0 0 0 ? s

< nov02 0:01

[migration/0]

列出類似程式樹的程式顯示

ps -axjf
root@localhost test6]# ps -axjf

warning

: bad syntax, perhaps a bogus '-'? see /usr/share/doc/procps-3.2.7/faq

ppid

pidpgid

sidtty

tpgid

stat

uidtime

command01

11 ? -1ss0

0:00 init [3]

1211 ? -1

s< 00:

01 [migration/0]

找出與 cron 與 syslog 這兩個服務有關的 pid 號碼

ps aux | egrep '(cron|syslog)'
[root@localhost test6]# ps aux | egrep '(cron|syslog)'

root 2682

0.00.0

83384

2000 ? sl nov02 0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5

root 2735

0.00.0

74812

1140 ? ss nov02 0:00 crond

root 17475

0.00.0

61180

832 pts/0 s+ 16:27

0:00 egrep (cron|syslog)

可以用 | 管道和 more 連線起來分頁檢視

ps -aux |more
輸出指定的字段

ps -o pid,ppid,pgrp,session,tpgid,comm
輸出字段

含義user

該 process 屬於那個使用者賬號的

pid該 process 的號碼

%cpu

該 process 使用掉的 cpu 資源百分比

%mem

該 process 所占用的物理記憶體百分比

vsz該 process 使用掉的虛擬記憶體量 (kbytes)

rss該 process 占用的固定的記憶體量 (kbytes)

tty該 process 是在那個終端機上面運作,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程式,若為 pts/0 等等的,則表示為由網路連線進主機的程式。

stat

該程式目前的狀態,主要的狀態有

r該程式目前正在運作,或者是可被運作

s該程式目前正在睡眠當中 (可說是 idle 狀態),但可被某些訊號 (signal) 喚醒。

t該程式目前正在偵測或者是停止了

z該程式應該已經終止,但是其父程式卻無法正常的終止他,造成 zombie (疆屍) 程式的狀態

start

該 process 被觸發啟動的時間

time

該 process 實際使用 cpu 運作的時間

command

該程式的實際指令

f代表這個程式的旗標(flag),4代表使用者為super user

s代表這個程式的狀態(stat),關於各stat的意義將在內文介紹

uid程式被該uid所擁有

pid就是這個程式的id!

ppid

則是其上級父程式的id

ccpu使用的資源百分比

pri這個是priority(優先執行序)的縮寫,詳細後面介紹

ni這個是nice值,在下一小節我們會持續介紹

addr

這個是kernel function,指出該程式在記憶體的那個部分。如果是個running的程式,一般就是」-「

sz使用掉的記憶體大小

wchan

目前這個程式是否正在運作當中,若為-表示正在運作

tty登入者的終端機位置

time

使用掉的cpu時間。

cmd所下達的指令為何

Linux ps命令詳細引數

在linux系統中,ps process status的縮寫 命令常常用來用來列出系統中當前執行的程序。ps命令列出的是當前那些程序的快照,就是執行ps命令的那個時刻的那些程序,如果想要動態的顯示程序資訊,就可以使用top命令。要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前...

Linux ps命令詳解與示例說明

ps命令最常用的還是用於監控後台程序的工作情況,因為後台程序是不和螢幕鍵盤這些標準輸入 輸出裝置進行通訊的,所以如果需要檢測其情況,便可以使用ps命令了.注意 ps是顯示瞬間程序的狀態,並不動態連續 如果想對程序進行實時監控應該用top命令。通過man ps可以獲得ps的詳細引數用法。下面可以通過示...

linux ps命令詳解

1.ps簡介 ps命令就是最基本同時也是非常強大的程序檢視命令.使用該命令可以確定有哪些程序正在執行和執行的狀態 程序是否結束 程序有沒有僵死 哪些程序占用了過多的資源等等.總之大部分資訊都是可以通過執行該命令得到的.2.ps命令及其引數 ps命令最常用的還是用於監控後台程序的工作情況,因為後台程序...