Linux 工具參考篇(3) ps 程序檢視器

2022-01-23 20:09:26 字數 4345 閱讀 5116

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

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

ps 為我們提供了程序的一次性的檢視,它所提供的檢視結果並不動態連續的;如果想對程序時間監控,應該用 top linux下的任務管理器 工具。

注:kill 命令用於殺死程序。

linux上程序有5種狀態:

執行(正在執行或在執行佇列中等待)

中斷(休眠中, 受阻, 在等待某個條件的形成或接受到訊號)

不可中斷(收到訊號不喚醒和不可執行, 程序必須等待直到有中斷發生)

僵死(程序已終止, 但程序描述符存在, 直到父程序呼叫wait4()系統呼叫後釋放)

停止(程序收到sigstop, sigtstp, sigttin, sigttou訊號後停止執行執行)

ps工具標識程序的5種狀態碼:

[root@localhost test6]# ps -a

pid tty time cmd

1 ? 00:00:00 init

2 ? 00:00:01 migration/0

3 ? 00:00:00 ksoftirqd/0

4 ? 00:00:01 migration/1

5 ? 00:00:00 ksoftirqd/1

6 ? 00:29:57 events/0

7 ? 00:00:00 events/1

8 ? 00:00:00 khelper

49 ? 00:00:00 kthread

54 ? 00:00:00 kblockd/0

55 ? 00:00:00 kblockd/1

56 ? 00:00:00 kacpid

217 ? 00:00:00 cqueue/0

……省略部分結果

[root@localhost test6]# ps -u root

pid tty time cmd

1 ? 00:00:00 init

2 ? 00:00:01 migration/0

3 ? 00:00:00 ksoftirqd/0

4 ? 00:00:01 migration/1

5 ? 00:00:00 ksoftirqd/1

6 ? 00:29:57 events/0

7 ? 00:00:00 events/1

8 ? 00:00:00 khelper

49 ? 00:00:00 kthread

54 ? 00:00:00 kblockd/0

55 ? 00:00:00 kblockd/1

56 ? 00:00:00 kacpid

……省略部分結果

[root@localhost test6]# ps -ef

uid pid ppid c stime tty time cmd

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

root 2 1 0 nov02 ? 00:00:01 [migration/0]

root 3 1 0 nov02 ? 00:00:00 [ksoftirqd/0]

root 4 1 0 nov02 ? 00:00:01 [migration/1]

root 5 1 0 nov02 ? 00:00:00 [ksoftirqd/1]

root 6 1 0 nov02 ? 00:29:57 [events/0]

root 7 1 0 nov02 ? 00:00:00 [events/1]

root 8 1 0 nov02 ? 00:00:00 [khelper]

root 49 1 0 nov02 ? 00:00:00 [kthread]

root 54 49 0 nov02 ? 00:00:00 [kblockd/0]

root 55 49 0 nov02 ? 00:00:00 [kblockd/1]

root 56 49 0 nov02 ? 00:00:00 [kacpid]

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

root 2720 1 0 nov02 ? 00:00:00 /usr/sbin/sshd

root 17394 2720 0 14:58 ? 00:00:00 sshd: root@pts/0

root 17465 17398 0 15:57 pts/0 00:00:00 grep ssh

[root@localhost test6]# ps -l

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

4 s 0 17398 17394 0 75 0 - 16543 wait pts/0 00:00:00 bash

4 r 0 17469 17398 0 77 0 - 15877 - pts/0 00:00:00 ps

[root@localhost test6]# ps aux

user pid %cpu %mem vsz rss tty stat 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]

root 3 0.0 0.0 0 0 ? sn nov02 0:00 [ksoftirqd/0]

root 4 0.0 0.0 0 0 ? s< nov02 0:01 [migration/1]

root 5 0.0 0.0 0 0 ? sn nov02 0:00 [ksoftirqd/1]

root 6 0.0 0.0 0 0 ? s< nov02 29:57 [events/0]

root 7 0.0 0.0 0 0 ? s< nov02 0:00 [events/1]

root 8 0.0 0.0 0 0 ? s< nov02 0:00 [khelper]

root 49 0.0 0.0 0 0 ? s< nov02 0:00 [kthread]

root 54 0.0 0.0 0 0 ? s< nov02 0:00 [kblockd/0]

root 55 0.0 0.0 0 0 ? s< nov02 0:00 [kblockd/1]

root 56 0.0 0.0 0 0 ? s< nov02 0:00 [kacpid]

Linux 程序檢視 ps

ps 命令 顯示程序在某個時間點運 況的狀態 檢視命令幫助 ps help ps option requires an argument p usage ps aacceefhjlmmrstvwxx o fmt o fmt g gid gid.g grp grp.u uid,uid.p pid pi...

linux 檢視程序 ps 命令詳解

linux作業系統ps命令詳細解析 要對系統中程序進行監測控制,用 ps 命令滿足你。bin ps ps 是顯示瞬間行程的狀態,並不動態連續 如果想對程序執行時間監控,應該用 top 工具。kill 用於殺死程序。ps 的引數說明 l 長格式輸出 u 按使用者名稱和啟動時間的順序來顯示程序 j 用任...

Linux 檢視程序之PS命令

要對程序進行檢測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序執行狀態。linux 系統中 我們可以使用 ps 命令檢視程序。ps 命令介紹 ps process status 命令是 linux 下最常用的程序檢視工具,使用該命令可以確定哪些程序正在執行和執行的狀態 程序是否結束 程...