日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 进程监控命令2——ps

發(fā)布時間:2025/3/15 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 进程监控命令2——ps 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. ps簡介

前面介紹的兩個命令(who、w命令)都是用于查看當(dāng)前系統(tǒng)用戶的情況,下面就來看看進程的情況,這也是本章的主題。要對進程進行監(jiān)測和控制,首先 必須要了解當(dāng)前進程的情況,也就是需要查看當(dāng)前進程,而ps命令就是最基本同時也是非常強大的linux進程查看命令。使用該命令可以確定有哪些進程正在 運行和運行的狀態(tài)、進程是否結(jié)束、進程有沒有僵死、哪些進程占用了過多的資源等等。總之大部分信息都是可以通過執(zhí)行該命令得到的。

2. ps命令及其參數(shù)

ps命令最常用的還是用于監(jiān)控后臺進程的工作情況,因為后臺進程是不和屏幕鍵盤這些標(biāo)準(zhǔn)輸入/輸出設(shè)備進行通信的,所以如果需要檢測其情況,便可以使用ps命令了。

該命令語法格式如下:ps [選項]

下面對命令選項進行說明:

◆-e 顯示所有進程。

◆-f 全格式。

◆-h 不顯示標(biāo)題。

◆-l 長格式。

◆-w 寬輸出。

◆a 顯示終端上的所有進程,包括其他用戶的進程。

◆r 只顯示正在運行的進程。

◆x 顯示沒有控制終端的進程。

O[+|-] k1 [,[+|-] k2 [,…]] 根據(jù)SHORT KEYS、k1、k2中快捷鍵指定的多級排序順序顯示進程列表。對于ps的不同格式都存在著默認的順序指定。這些默認順序可以被用戶的指定所覆蓋。其中 “+”字符是可選的,“-”字符是倒轉(zhuǎn)指定鍵的方向。

pids 只列出指定進程的情況。各進程ID之間使用逗號分隔。該進程列表必須在命令行參數(shù)的最后一個選項后面緊接著給出,中間不能插入空格。比如:ps -f1,4,5。

以下介紹長命令行選項,這些選項都使用“--”開頭:

◆--sort X[+|-] key [,[+|-] key [,…]] 從SORT KEYS段中選一個多字母鍵。“+”字符是可選的,因為默認的方向就是按數(shù)字升序或者詞典淥承頡1熱紓?ps -jax -sort=uid,-ppid,+pid。

◆--help 顯示幫助信息。

◆--version 顯示該命令的版本信息。

在前面的選項說明中提到了排序鍵,接下來對排序鍵作進一步說明。需要注意的是排序中使用的值是ps使用的內(nèi)部值,并非僅用于某些輸出格式的偽值。

排序鍵列表

短格式

長格式

說 明

◆c-cmd可執(zhí)行的簡單名稱

◆C-cmdline完整命令行

◆f-flags長模式標(biāo)志

◆g-pgrp進程的組ID

◆G-tpgid控制tty進程組ID

◆j-cutime累計用戶時間

◆J-cstime累計系統(tǒng)時間

◆k-utime用戶時間

◆K-stime系統(tǒng)時間

◆m-min_flt次要頁錯誤的數(shù)量

◆M-maj_flt主要頁錯誤的數(shù)量

◆n-cmin_flt累計次要頁錯誤

◆N-cmaj_flt累計主要頁錯誤

◆o-session對話ID

◆p-pid進程ID

◆P-ppid父進程ID

◆r-rss駐留大小

◆R-resident駐留頁

◆s-size內(nèi)存大小(千字節(jié))

◆S-share共享頁的數(shù)量

◆t-ttytty次要設(shè)備號

◆T-start_time進程啟動的時間

◆U-uid-UID

◆u-user用戶名

◆v-vsize總的虛擬內(nèi)存數(shù)量(字節(jié))

◆y-priority內(nèi)核調(diào)度優(yōu)先級

3. 常用ps命令參數(shù)

前面兩節(jié)介紹的參數(shù)可能讓讀者覺得有些可怕,實際上這是一個非常容易使用的命令,一般的用戶只需掌握一些最常用的命令參數(shù)就可以了。 最常用的三個參數(shù)是u、a、x,下面將通過例子來說明其具體用法。

以root身份登錄系統(tǒng),查看當(dāng)前進程狀況

$ ps

PID TTY TIME COMMAND

5800 ttyp0 00:00:00 bash

5835 ttyp0 00:00:00 ps

可以看到,顯示的項目共分為四項,依次為PID(進程ID)、TTY(終端名稱)、TIME(進程執(zhí)行時間)、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時間和總時間的百分比;后者指該進程占用的內(nèi)存和總內(nèi)存的百分比。


在這種情況下看到了所有控制終端的進程;但是對于其他那些沒有控制終端的進程還是沒有觀察到,所以這時就需要使用x選項。使用x選項可以觀察到所有的進程情況。

下面是使用x選項的例子:

$ ps x

PID TTY STAT TIME COMMAND

5800 ttyp0 S 0:00 -bash

5813 ttyp1 S 0:00 -bash

5921 ttyp0 S 0:00 man ps

5922 ttyp0 S 0:00 sh -c /usr/bin/gunzip -c /var/catman/cat1/ps.1.gz | /

5923 ttyp0 S 0:00 /usr/bin/gunzip -c /var/catman/cat1/ps.1.gz

5924 ttyp0 S 0:00 /usr/bin/less -is

5941 ttyp1 R 0:00 ps x

可以發(fā)現(xiàn)突然一下子就多出了那么多的進程。這些多出來的進程就是沒有控制終端的進程。

前面看到的所有進程都是test用戶自己的。其實還有許多其他用戶在使用著系統(tǒng),自然也就對應(yīng)著其他的很多進程。如果想對這些進程有所了解,可以使用a選項來查看當(dāng)前系統(tǒng)所有用戶的所有進程。經(jīng)常使用的是aux組合選項,這可以顯示最詳細的進程情況。

$ ps aux

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.0 1136 64 ? S Nov25 0:02 init [3]

root 2 0.0 0.0 0 0 ? SW Nov25 0:00 [kflushd]

root 3 0.0 0.0 0 0 ? SW Nov25 0:03 [kupdate]

root 4 0.0 0.0 0 0 ? SW Nov25 0:00 [kpiod]

root 5 0.0 0.0 0 0 ? SW Nov25 0:00 [kswapd]

root 163 0.0 0.1 1628 332 ? S Nov25 0:02 sshd

root 173 0.0 0.0 1324 200 ? S Nov25 0:00 syslogd

root 181 0.0 0.0 1420 0 ? SW Nov25 0:00 [klogd]

daemon 191 0.0 0.1 1160 312 ? S Nov25 0:00 /usr/sbin/atd

root 201 0.0 0.1 1348 492 ? S Nov25 0:00 crond

root 212 0.0 0.0 1292 68 ? S Nov25 0:00 inetd

……

在顯示的最前面是其他用戶的進程情況,可以看到有root、daemon等用戶以及他們所啟動的進程。 在上面的例子中,介紹了ps命令最常見的一些選項和選項組合,用戶可以根據(jù)自己的需要選用。

以上給大家講解了linux進程查看中的ps命令的使用,接下來將會講解查看系統(tǒng)用戶情況的命令who。

總結(jié)

以上是生活随笔為你收集整理的linux 进程监控命令2——ps的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。