自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux 中關(guān)于 ps 命令的一些常用例子

系統(tǒng) Linux
Linux 中的 ps 命令可以顯示系統(tǒng)中正在運(yùn)行的進(jìn)程信息。本文將介紹一些關(guān)于 ps 命令最常用的例子

ps 命令是什么?

Linux 中的 ps 命令可以顯示系統(tǒng)中正在運(yùn)行的進(jìn)程信息,比如進(jìn)程ID等。它是一個(gè)應(yīng)用很廣泛的工具,有大約80多個(gè)選項(xiàng),足見它的復(fù)雜性。本文將介紹一些關(guān)于 ps 命令最常用的例子。

ps命令在Linux中的基本用法

不帶任何選項(xiàng)的 ps 命令,顯示當(dāng)前 shell 中正在運(yùn)行的進(jìn)程:

ps

下面是輸出,我在后臺(tái)發(fā)送了 gedit 命令,所以它顯示了三個(gè)進(jìn)程,否則你通常只會(huì)看到 ps 和 bash。?

     PID TTY          TIME CMD
    503 pts/0 00:00:00 gedit
    2053 pts/0 00:00:00 ps
    31585 pts/0 00:00:00 bash

    在這里:

    • PID 是進(jìn)程的唯一 進(jìn)程ID;
    • TTY 是用戶登錄的終端類型。pts表示偽終端;
    • TIME 顯示進(jìn)程已運(yùn)行的時(shí)間;
    • CMD 是用以啟動(dòng)進(jìn)程的命令。

    當(dāng)然,這個(gè)例子不能提供任何真正有用的信息,下面我們來看一些 ps 命令的更實(shí)用的例子。

    1. 查看所有正在運(yùn)行的進(jìn)程

    如果要查看自己運(yùn)行的所有進(jìn)程,可以使用選項(xiàng) x

    ps -x

    x 選項(xiàng)將顯示所有進(jìn)程,即使它們不與當(dāng)前 tty(終端類型)關(guān)聯(lián),或者它們沒有控制終端(如守護(hù)進(jìn)程)。

    選項(xiàng)前面的中劃線 - 是可選的,但一般在 Linux 中約定使用它,所以最好帶上中劃線 - 。

    以下是其中一部分輸出(我省略了一些,因?yàn)樗偣灿袛?shù)百行):?

     PID TTY      STAT   TIME COMMAND
    503 pts/0 Sl 0:00 gedit
    2245 ? S 0:00 /usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh
    3039 ? Ss 0:00 /lib/systemd/systemd --user
    3040 ? S 0:00 (sd-pam)
    3054 ? SLl 0:01 /usr/bin/gnome-keyring-daemon --daemonize --login
    3059 tty2 Ssl+ 0:00 /usr/lib/gdm3/gdm-x-session --run-script env

    上述輸出中的 STAT 表示進(jìn)程狀態(tài)碼(Process State Code),你可以在 ps 的 man 手冊(cè)中查看其詳細(xì)信息。

    不過我們很少會(huì)看到 ps 只使用 -x 選項(xiàng),通常會(huì)與選項(xiàng) -u 一起使用:

    ps -ux


    使用選項(xiàng) -u,可以看到每個(gè)進(jìn)程的詳細(xì)信息:?

    USER   PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    gliu 503 0.0 0.4 681580 37516 pts/0 Sl 18:09 0:00 gedit
    gliu 2245 0.0 0.0 11300 1496 ? S 18:37 0:00 /usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh
    gliu 3039 0.0 0.0 77344 3508 ? Ss 10:37 0:00 /lib/systemd/systemd --user
    gliu 3040 0.0 0.0 114632 360 ? S 10:37 0:00 (sd-pam)
    gliu 3054 0.0 0.1 517104 11512 ? SLl 10:37 0:01 /usr/bin/gnome-keyring-daemon

    ?上面輸出中,可以看到每個(gè)進(jìn)程的用戶名、CPU消耗和內(nèi)存使用情況等。RSS顯示進(jìn)程當(dāng)前在 RAM 中有多少內(nèi)存,而 VSZ 則顯示進(jìn)程總共有多少虛擬內(nèi)存。

    2. 使用 ps aux 命令查看所有正在運(yùn)行的進(jìn)程

    你可能在 Linux 教程或文檔中經(jīng)??吹?px -aux 或者 px aux 這樣的例子。

    通過使用 -a 選項(xiàng),可以看到 Linux 系統(tǒng)中所有用戶正在運(yùn)行的進(jìn)程。

    ps -aux

    其輸出與 ps -ux 相同,但也包含了其他用戶的進(jìn)程,-u 選項(xiàng)可以讓你看到進(jìn)程所屬用戶。

    圖片

    3. 使用 ps -ef 查看正在運(yùn)行的進(jìn)程

    除了 ps -aux 之外,還可以使用 -e 選項(xiàng)列出所有正在運(yùn)行的進(jìn)程,然后在結(jié)合 -f 選項(xiàng),以獲得運(yùn)行進(jìn)程的完整列表:

    ps -ef

    這里請(qǐng)注意 e 前面的中劃線 - 很重要,如果沒有的話,會(huì)顯示不同的結(jié)果。

    此外還可以組合 H 選項(xiàng),在線程視圖中查看所有進(jìn)程,其中子進(jìn)程位于其父進(jìn)程下:

    ps -efH

    4. 查看特定用戶的進(jìn)程

    要查看某個(gè)用戶正在運(yùn)行的進(jìn)程,可以使用 -U 選項(xiàng)后跟用戶名:

    ps -U user_name

    比如,查看 root 用戶運(yùn)行的進(jìn)程:?

    ps -U root
    PID TTY TIME CMD
    1 ? 00:00:41 systemd
    2 ? 00:00:00 kthreadd
    3 ? 00:00:00 rcu_gp
    4 ? 00:00:00 rcu_par_gp
    8 ? 00:00:00 mm_percpu_wq
    9 ? 00:00:03 ksoftirqd/0
    10 ? 00:01:22 rcu_sched

    5. 查看由組運(yùn)行的所有進(jìn)程

    可以通過提供組名或組id,按組而不是用戶對(duì)正在運(yùn)行的進(jìn)程進(jìn)行分類:

    ps -G group_name_or_id

    還可以組合使用 f 選項(xiàng)以獲得完整的列表,大家可以自己試試看看輸出結(jié)果。

    6. 獲取程序的所有事件和 PID

    ps 命令的一個(gè)基本用途是獲取正在運(yùn)行的程序的進(jìn)程ID(PID)。比如當(dāng)你要結(jié)束某個(gè)程序時(shí),會(huì)搜索所有的程序事件,獲取它們的PID,然后使用 kill 命令結(jié)束該進(jìn)程。

    ps -C program__name

    比如,我要查詢 apt 包管理器所運(yùn)行的實(shí)例:

    ps -C apt
    PID TTY TIME CMD
    11425 pts/1 00:00:00 apt

    另外,也可以使用 ??grep ???來獲取類似的結(jié)果:

    ps aux | grep program_name


    7. 獲取相關(guān) PID 的進(jìn)程信息

    如果你有一個(gè) PID,但是不知道它是屬于哪個(gè)進(jìn)程,可以使用 ps 命令來查詢進(jìn)程信息:

    ps -pN

    可以使用逗號(hào)來分割多個(gè)PID,進(jìn)而查詢多個(gè)進(jìn)程信息:

    ps -pN1,N2,N3

    正如本文開始所說的,ps 是一個(gè)復(fù)雜且應(yīng)用廣泛的命令,本文所介紹的只是一些最常用的例子。關(guān)于其詳細(xì)信息,大家可以查看 man 手冊(cè)。

    責(zé)任編輯:龐桂玉 來源: TIAP
    相關(guān)推薦

    2022-02-17 13:58:38

    Linux技巧文件

    2010-03-11 14:16:16

    Linux route

    2013-06-26 14:00:40

    routeros軟路由routero

    2010-09-28 14:14:19

    SQL語句

    2011-03-15 17:46:43

    2011-07-13 09:13:56

    Android設(shè)計(jì)

    2009-07-02 10:52:30

    JavaBean規(guī)范

    2010-01-15 10:34:59

    Linux命令行操作

    2019-08-19 14:56:07

    設(shè)計(jì)模式javascript

    2025-01-15 09:00:20

    2010-04-19 14:37:14

    Oracle監(jiān)控

    2013-04-07 10:40:55

    前端框架前端

    2009-06-18 09:51:25

    Java繼承

    2017-09-10 17:31:18

    iOS渲染數(shù)據(jù)

    2023-02-10 09:46:04

    bash腳本變量

    2017-02-20 16:28:30

    DCISDN-WAN傳輸網(wǎng)絡(luò)

    2013-12-06 17:39:49

    Linuxps命令

    2010-05-10 15:41:38

    Unix系統(tǒng)

    2012-09-25 10:03:56

    JavaJava封面Java開發(fā)

    2009-11-23 10:14:10

    Linuxroute命令輸出信息
    點(diǎn)贊
    收藏

    51CTO技術(shù)棧公眾號(hào)