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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

linux

【Linux】一步一步学Linux——ps命令(119)

發(fā)布時(shí)間:2024/4/21 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Linux】一步一步学Linux——ps命令(119) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

00. 目錄

文章目錄

    • 00. 目錄
    • 01. 命令概述
    • 02. 命令格式
    • 03. 常用選項(xiàng)
    • 04. 參考示例
    • 05. 附錄

01. 命令概述

ps命令用于報(bào)告當(dāng)前系統(tǒng)的進(jìn)程狀態(tài)。ps命令是“process status”的縮寫(xiě)。可以搭配kill指令隨時(shí)中斷、刪除不必要的程序。ps命令是最基本同時(shí)也是非常強(qiáng)大的進(jìn)程查看命令,使用該命令可以確定有哪些進(jìn)程正在運(yùn)行和運(yùn)行的狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程有沒(méi)有僵死、哪些進(jìn)程占用了過(guò)多的資源等等,總之大部分信息都是可以通過(guò)執(zhí)行該命令得到的。

進(jìn)程狀態(tài)

R 運(yùn)行 Runnable (on run queue) 正在運(yùn)行或在運(yùn)行隊(duì)列中等待。 S 睡眠 Sleeping 休眠中, 受阻, 在等待某個(gè)條件的形成或接受到信號(hào)。 I 空閑 Idle Z 僵死 Zombie(a defunct process) 進(jìn)程已終止, 但進(jìn)程描述符存在, 直到父進(jìn)程調(diào)用wait4()系統(tǒng)調(diào)用后釋放。 D 不可中斷 Uninterruptible sleep (ususally IO) 收到信號(hào)不喚醒和不可運(yùn)行, 進(jìn)程必須等待直到有中斷發(fā)生。 T 終止 Terminate 進(jìn)程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號(hào)后停止運(yùn)行運(yùn)行。 P 等待交換頁(yè) W 無(wú)駐留頁(yè) has no resident pages 沒(méi)有足夠的記憶體分頁(yè)可分配。 X 死掉的進(jìn)程 < 高優(yōu)先級(jí)進(jìn)程 高優(yōu)先序的進(jìn)程 N 低優(yōu)先 級(jí)進(jìn)程 低優(yōu)先序的進(jìn)程 L 內(nèi)存鎖頁(yè) Lock 有記憶體分頁(yè)分配并縮在記憶體內(nèi) s 進(jìn)程的領(lǐng)導(dǎo)者(在它之下有子進(jìn)程); l 多進(jìn)程的(使用 CLONE_THREAD, 類似 NPTL pthreads) + 位于后臺(tái)的進(jìn)程組

02. 命令格式

格式:ps [參數(shù)]

03. 常用選項(xiàng)

-a 顯示所有終端機(jī)下執(zhí)行的進(jìn)程,除了階段作業(yè)領(lǐng)導(dǎo)者之外。a 顯示現(xiàn)行終端機(jī)下的所有進(jìn)程,包括其他用戶的進(jìn)程。-A 顯示所有進(jìn)程。-c 顯示CLS和PRI欄位。c 列出進(jìn)程時(shí),顯示每個(gè)進(jìn)程真正的指令名稱,而不包含路徑,參數(shù)或常駐服務(wù)的標(biāo)示。-C<指令名稱>  指定執(zhí)行指令的名稱,并列出該指令的進(jìn)程的狀況。-d  顯示所有進(jìn)程,但不包括階段作業(yè)領(lǐng)導(dǎo)者的進(jìn)程。-e  此參數(shù)的效果和指定"A"參數(shù)相同。e  列出進(jìn)程時(shí),顯示每個(gè)進(jìn)程所使用的環(huán)境變量。-f  顯示UID,PPIP,C與STIME欄位。f  用ASCII字符顯示樹(shù)狀結(jié)構(gòu),表達(dá)進(jìn)程間的相互關(guān)系。-g<群組名稱>  此參數(shù)的效果和指定"-G"參數(shù)相同,當(dāng)亦能使用階段作業(yè)領(lǐng)導(dǎo)者的名稱來(lái)指定。g  顯示現(xiàn)行終端機(jī)下的所有進(jìn)程,包括群組領(lǐng)導(dǎo)者的進(jìn)程。-G<群組識(shí)別碼>  列出屬于該群組的進(jìn)程的狀況,也可使用群組名稱來(lái)指定。h  不顯示標(biāo)題列。-H  顯示樹(shù)狀結(jié)構(gòu),表示進(jìn)程間的相互關(guān)系。-j或j  采用工作控制的格式顯示進(jìn)程狀況。-l或l  采用詳細(xì)的格式來(lái)顯示進(jìn)程狀況。L  列出欄位的相關(guān)信息。-m或m  顯示所有的執(zhí)行緒。n  以數(shù)字來(lái)表示USER和WCHAN欄位。-N  顯示所有的進(jìn)程,除了執(zhí)行ps指令終端機(jī)下的進(jìn)程之外。-p<進(jìn)程識(shí)別碼>  指定進(jìn)程識(shí)別碼,并列出該進(jìn)程的狀況。p<進(jìn)程識(shí)別碼>  此參數(shù)的效果和指定"-p"參數(shù)相同,只在列表格式方面稍有差異。r  只列出現(xiàn)行終端機(jī)正在執(zhí)行中的進(jìn)程。-s<階段作業(yè)>  指定階段作業(yè)的進(jìn)程識(shí)別碼,并列出隸屬該階段作業(yè)的進(jìn)程的狀況。s  采用進(jìn)程信號(hào)的格式顯示進(jìn)程狀況。S  列出進(jìn)程時(shí),包括已中斷的子進(jìn)程資料。-t<終端機(jī)編號(hào)>  指定終端機(jī)編號(hào),并列出屬于該終端機(jī)的進(jìn)程的狀況。t<終端機(jī)編號(hào)>  此參數(shù)的效果和指定"-t"參數(shù)相同,只在列表格式方面稍有差異。-T  顯示現(xiàn)行終端機(jī)下的所有進(jìn)程。-u<用戶識(shí)別碼>  此參數(shù)的效果和指定"-U"參數(shù)相同。u  以用戶為主的格式來(lái)顯示進(jìn)程狀況。-U<用戶識(shí)別碼>  列出屬于該用戶的進(jìn)程的狀況,也可使用用戶名稱來(lái)指定。U<用戶名稱>  列出屬于該用戶的進(jìn)程的狀況。v  采用虛擬內(nèi)存的格式顯示進(jìn)程狀況。-V或V  顯示版本信息。-w或w  采用寬闊的格式來(lái)顯示進(jìn)程狀況。 x  顯示所有進(jìn)程,不以終端機(jī)來(lái)區(qū)分。X  采用舊式的Linux i386登陸格式顯示進(jìn)程狀況。-y 配合參數(shù)"-l"使用時(shí),不顯示F(flag)欄位,并以RSS欄位取代ADDR欄位-<進(jìn)程識(shí)別碼>  此參數(shù)的效果和指定"p"參數(shù)相同。--cols<每列字符數(shù)>  設(shè)置每列的最大字符數(shù)。--columns<每列字符數(shù)>  此參數(shù)的效果和指定"--cols"參數(shù)相同。--cumulative  此參數(shù)的效果和指定"S"參數(shù)相同。--deselect  此參數(shù)的效果和指定"-N"參數(shù)相同。--forest  此參數(shù)的效果和指定"f"參數(shù)相同。--headers  重復(fù)顯示標(biāo)題列。--help  在線幫助。--info  顯示排錯(cuò)信息。--lines<顯示列數(shù)> 設(shè)置顯示畫(huà)面的列數(shù)。--no-headers 此參數(shù)的效果和指定"h"參數(shù)相同,只在列表格式方面稍有差異。--group<群組名稱>  此參數(shù)的效果和指定"-G"參數(shù)相同。--Group<群組識(shí)別碼>  此參數(shù)的效果和指定"-G"參數(shù)相同。--pid<進(jìn)程識(shí)別碼>  此參數(shù)的效果和指定"-p"參數(shù)相同。--rows<顯示列數(shù)>  此參數(shù)的效果和指定"--lines"參數(shù)相同。--sid<階段作業(yè)>  此參數(shù)的效果和指定"-s"參數(shù)相同。--tty<終端機(jī)編號(hào)>  此參數(shù)的效果和指定"-t"參數(shù)相同。--user<用戶名稱>  此參數(shù)的效果和指定"-U"參數(shù)相同。--User<用戶識(shí)別碼>  此參數(shù)的效果和指定"-U"參數(shù)相同。--version  此參數(shù)的效果和指定"-V"參數(shù)相同。--widty<每列字符數(shù)>  此參數(shù)的效果和指定"-cols"參數(shù)相同。

04. 參考示例

4.1 查看當(dāng)前終端所有進(jìn)程狀態(tài)

[root@itcast ~]# psPID TTY TIME CMD11141 pts/1 00:00:00 su11145 pts/1 00:00:00 bash12661 pts/1 00:00:00 ps [root@itcast ~]#

4.2 顯示所有進(jìn)程詳細(xì)信息

[root@itcast ~]# ps aux或者 [root@itcast ~]# ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 191300 3416 ? Ss 8月08 1:47 /usr/lib/sy root 2 0.0 0.0 0 0 ? S 8月08 0:00 [kthreadd]

相關(guān)說(shuō)明

USER 用戶名
UID 用戶ID(User ID)
PID 進(jìn)程ID(Process ID)
PPID 父進(jìn)程的進(jìn)程ID(Parent Process id)
SID 會(huì)話ID(Session id)
%CPU 進(jìn)程的cpu占用率
%MEM 進(jìn)程的內(nèi)存占用率
VSZ 進(jìn)程所使用的虛存的大小(Virtual Size)
RSS 進(jìn)程使用的駐留集大小或者是實(shí)際內(nèi)存的大小,Kbytes字節(jié)。
TTY 與進(jìn)程關(guān)聯(lián)的終端(tty)
STAT 進(jìn)程的狀態(tài):進(jìn)程狀態(tài)使用字符表示的(STAT的狀態(tài)碼)

START 進(jìn)程啟動(dòng)時(shí)間和日期
TIME 進(jìn)程使用的總cpu時(shí)間
COMMAND 正在執(zhí)行的命令行命令
NI 優(yōu)先級(jí)(Nice)
PRI 進(jìn)程優(yōu)先級(jí)編號(hào)(Priority)
WCHAN 進(jìn)程正在睡眠的內(nèi)核函數(shù)名稱;該函數(shù)的名稱是從/root/system.map文件中獲得的。
FLAGS 與進(jìn)程相關(guān)的數(shù)字標(biāo)識(shí)

4.3 查看所有進(jìn)程

方式一

[root@itcast ~]# ps -axPID TTY STAT TIME COMMAND1 ? Ss 1:47 /usr/lib/systemd/systemd --switched-root --system 2 ? S 0:00 [kthreadd]3 ? S 0:21 [ksoftirqd/0]5 ? S< 0:00 [kworker/0:0H]7 ? S 0:14 [migration/0]

方式二

[root@itcast ~]# ps -A PID TTY TIME CMD1 ? 00:01:47 systemd2 ? 00:00:00 kthreadd3 ? 00:00:21 ksoftirqd/05 ? 00:00:00 kworker/0:0H7 ? 00:00:14 migration/08 ? 00:00:00 rcu_bh

方式三

[root@itcast ~]# ps -ePID TTY TIME CMD1 ? 00:01:47 systemd2 ? 00:00:00 kthreadd3 ? 00:00:21 ksoftirqd/05 ? 00:00:00 kworker/0:0H

4.4 顯示進(jìn)程詳細(xì)信息

[root@itcast ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 8月08 ? 00:01:47 /usr/lib/systemd/systemd --s root 2 0 0 8月08 ? 00:00:00 [kthreadd] root 3 2 0 8月08 ? 00:00:21 [ksoftirqd/0] root 5 2 0 8月08 ? 00:00:00 [kworker/0:0H] root 7 2 0 8月08 ? 00:00:14 [migration/0]

4.5 顯示某個(gè)用戶的進(jìn)程

[root@itcast ~]# ps -u rootPID TTY TIME CMD1 ? 00:01:48 systemd2 ? 00:00:00 kthreadd3 ? 00:00:21 ksoftirqd/05 ? 00:00:00 kworker/0:0H

4.6 顯示進(jìn)程名進(jìn)程信息

[root@itcast ~]# ps -C bashPID TTY TIME CMD10565 pts/1 00:00:00 bash11145 pts/1 00:00:00 bash86546 pts/0 00:00:00 bash [root@itcast ~]#

4.7 通過(guò)進(jìn)程號(hào)顯示進(jìn)程詳細(xì)信息

[root@itcast ~]# ps -f -p 86546 UID PID PPID C STIME TTY STAT TIME CMD deng 86546 86518 0 09:38 pts/0 Ss+ 0:00 bash [root@itcast ~]#

4.8 利用 cpu 或者內(nèi)存使用量對(duì)進(jìn)程排序

[root@itcast ~]# ps aux --sort=-pcpu,+pmem USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND polkitd 628 2.4 0.6 546192 14176 ? Ssl 8月08 96:32 /usr/lib/po dbus 611 0.9 0.1 61880 3292 ? Ss 8月08 38:49 /usr/bin/db root 610 0.5 0.2 398464 4560 ? Ssl 8月08 23:57 /usr/libexe deng 2521 0.2 0.2 611700 4396 ? Sl 8月08 8:38 /usr/libexe

首先以 cpu 使用量排序呢, 如果 cpu 使用量相同,則以內(nèi)存使用量排序。

4.9 顯示 ASCII 進(jìn)程樹(shù)

[root@itcast ~]# ps --forestPID TTY TIME CMD11141 pts/1 00:00:00 su11145 pts/1 00:00:00 \_ bash13809 pts/1 00:00:00 \_ ps [root@itcast ~]#

4.10 顯示指定進(jìn)程號(hào)的子進(jìn)程

[root@itcast ~]# ps --pid 1PID TTY TIME CMD1 ? 00:01:48 systemd [root@itcast ~]# ps --ppid 1PID TTY TIME CMD392 ? 00:01:34 systemd-journal425 ? 00:00:00 lvmetad433 ? 00:00:01 systemd-udevd581 ? 00:00:03 auditd608 ? 00:00:00 alsactl

4.11 顯示進(jìn)程的LWP線程號(hào)

[root@itcast ~]# ps -p 1 -LPID LWP TTY TIME CMD1 1 ? 00:01:48 systemd [root@itcast ~]#

4.12 指定顯示字段

[root@itcast ~]# ps -e -o pid,uname,pcpu,pmem,commPID USER %CPU %MEM COMMAND1 root 0.0 0.1 systemd2 root 0.0 0.0 kthreadd3 root 0.0 0.0 ksoftirqd/05 root 0.0 0.0 kworker/0:0H7 root 0.0 0.0 migration/0

4.13 顯示是指定對(duì)應(yīng)的字段

[root@itcast ~]# ps -e -o pid,uname=USERNAME,pcpu=CPU_USAGE,pmem,commPID USERNAME CPU_USAGE %MEM COMMAND1 root 0.0 0.1 systemd2 root 0.0 0.0 kthreadd3 root 0.0 0.0 ksoftirqd/0

4.14 顯示進(jìn)程已經(jīng)運(yùn)行的時(shí)間

[root@itcast ~]# ps -e -o pid,comm,etimePID COMMAND ELAPSED1 systemd 2-19:11:242 kthreadd 2-19:11:243 ksoftirqd/0 2-19:11:245 kworker/0:0H 2-19:11:24

重點(diǎn)強(qiáng)調(diào)下 ps -o 選項(xiàng): 格式化輸出

為什么上面ps -eo pid,uname cmd 就可以看到 PID USER 和 CMD 呢,因?yàn)檫@里有一個(gè)對(duì)應(yīng)表 keywords

可以man ps去找下。

CODE HEADER DESCRIPTION

%cpu %CPU

%mem %MEM

args COMMAND

。。。。。。。 等等

還有格式化對(duì)照表:

? CODE NORMAL HEADER
? %C pcpu %CPU
? %G group GROUP
? %P ppid PPID
? %U user USER
? %a args COMMAND
? %c comm COMMAND
? %g rgroup RGROUP
? %n nice NI
? %p pid PID
? %r pgid PGID
? %t etime ELAPSED
? %u ruser RUSER
? %x time TIME
? %y tty TTY

? %z vsz VSZ

4.15 查找特定進(jìn)程信息

[root@itcast ~]# ps -ef | grep ssh root 1183 1 0 8月08 ? 00:00:00 /usr/sbin/sshd -D deng 2286 2111 0 8月08 ? 00:00:01 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic" root 10561 1183 0 21:24 ? 00:00:00 sshd: deng [priv] deng 10563 10561 0 21:24 ? 00:00:00 sshd: deng@pts/1 root 16403 11145 0 22:18 pts/1 00:00:00 grep --color=auto ssh [root@itcast ~]#

4.16 按 CPU 資源的使用量對(duì)進(jìn)程進(jìn)行排序

[root@itcast ~]# ps aux | sort -nk 3

4.17 按內(nèi)存資源的使用量對(duì)進(jìn)程進(jìn)行排序

[root@itcast ~]# ps aux | sort -rnk 4

4.18 將目前屬于您自己這次登入的 PID 與相關(guān)信息列示出來(lái)

[root@itcast ~]# ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 11141 10565 0 80 0 - 58600 do_wai pts/1 00:00:00 su 4 S 0 11145 11141 0 80 0 - 29188 do_wai pts/1 00:00:00 bash 0 R 0 21027 11145 0 80 0 - 38300 - pts/1 00:00:00 ps [root@itcast ~]#

說(shuō)明:

各相關(guān)信息的意義:

F 代表這個(gè)程序的旗標(biāo) (flag), 4 代表使用者為 super user

S 代表這個(gè)程序的狀態(tài) (STAT),關(guān)于各 STAT 的意義將在內(nèi)文介紹

UID 程序被該 UID 所擁有

PID 就是這個(gè)程序的 ID !

PPID 則是其上級(jí)父程序的ID

C CPU 使用的資源百分比

PRI 這個(gè)是 Priority (優(yōu)先執(zhí)行序) 的縮寫(xiě),詳細(xì)后面介紹

NI 這個(gè)是 Nice 值

ADDR 這個(gè)是 kernel function,指出該程序在內(nèi)存的那個(gè)部分。如果是個(gè) running的程序,一般就是 “-”

SZ 使用掉的內(nèi)存大小

WCHAN 目前這個(gè)程序是否正在運(yùn)作當(dāng)中,若為 - 表示正在運(yùn)作

TTY 登入者的終端機(jī)位置

TIME 使用掉的 CPU 時(shí)間。

CMD 所下達(dá)的指令為何

在預(yù)設(shè)的情況下, ps 僅會(huì)列出與目前所在的 bash shell 有關(guān)的 PID 而已,所以, 當(dāng)我使用 ps -l 的時(shí)候,只有三個(gè) PID。

4.19 列出類似程序樹(shù)的程序顯示

[root@itcast ~]# ps -axjfPPID PID PGID SID TTY TPGID STAT UID TIME COMMAND0 2 0 0 ? -1 S 0 0:00 [kthreadd]2 3 0 0 ? -1 S 0 0:21 \_ [ksoftirqd/02 5 0 0 ? -1 S< 0 0:00 \_ [kworker/0:02 7 0 0 ? -1 S 0 0:14 \_ [migration/02 8 0 0 ? -1 S 0 0:00 \_ [rcu_bh]

4.20 將所有進(jìn)程信息輸出到文件

[root@itcast ~]# ps aux >> txt

05. 附錄

參考:【Linux】一步一步學(xué)Linux系列教程匯總

總結(jié)

以上是生活随笔為你收集整理的【Linux】一步一步学Linux——ps命令(119)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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