0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

分享linux中查看進(jìn)程詳情的一序列操作

jf_TEuU2tls ? 來(lái)源:稀土掘金 ? 2023-04-04 09:28 ? 次閱讀

1. ps是什么?

要對(duì)進(jìn)程進(jìn)行監(jiān)測(cè)和控制,首先必須要了解當(dāng)前進(jìn)程的情況,也就是需要查看當(dāng)前進(jìn)程,ps命令就是最基本進(jìn)程查看命令。使用該命令可以確定有哪些進(jìn)程正在運(yùn)行和運(yùn)行的狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程有沒有僵尸、哪些進(jìn)程占用了過多的資源等等.總之大部分信息都是可以通過執(zhí)行該命令得到。

ps是顯示瞬間進(jìn)程的狀態(tài),并不動(dòng)態(tài)連續(xù);如果想對(duì)進(jìn)程進(jìn)行實(shí)時(shí)監(jiān)控應(yīng)該用top命令。

基本參數(shù)

-A :

所有的進(jìn)程均顯示出來(lái),與 -e 具有同樣的效用;

-a :

顯示現(xiàn)行終端機(jī)下的所有進(jìn)程,包括其他用戶的進(jìn)程;

-u :

以用戶為主的進(jìn)程狀態(tài) ;

x :

通常與 a 這個(gè)參數(shù)一起使用,可列出較完整信息。

輸出格式規(guī)劃:

l :

較長(zhǎng)、較詳細(xì)的將該PID 的的信息列出;

j :

工作的格式 (jobs format)

-f :

做一個(gè)更為完整的輸出。

下面我們就來(lái)一個(gè)命令進(jìn)行實(shí)踐,看看不同的參數(shù)都有些什么效果。

2. 不加參數(shù)執(zhí)行ps命令會(huì)輸出什么?

這是一個(gè)基本的ps使用,我們來(lái)看看控制臺(tái)中執(zhí)行這個(gè)命令并查看結(jié)果。

2ed074a4-d27b-11ed-bfe3-dac502259ad0.png

結(jié)果默認(rèn)會(huì)顯示4列信息:

PID: 運(yùn)行著的命令(CMD)的進(jìn)程編號(hào)

TTY: 命令所運(yùn)行的位置(終端)

TIME: 運(yùn)行著的該命令所占用的CPU處理時(shí)間

CMD: 該進(jìn)程所運(yùn)行的命令

這些信息在顯示時(shí)未排序。

3. 如何顯示所有當(dāng)前進(jìn)程?

使用-a參數(shù),-a 代表 all。同時(shí)加上x參數(shù)會(huì)顯示沒有控制終端的進(jìn)程。

$ ps -ax


# 這個(gè)命令的結(jié)果或許會(huì)很長(zhǎng)。為了便于查看,可以結(jié)合less命令和管道來(lái)使用。


$ ps -ax | less
2ef0a9b8-d27b-11ed-bfe3-dac502259ad0.png

4. 如何根據(jù)進(jìn)程的用戶進(jìn)行信息過濾呢?

在需要查看特定用戶進(jìn)程的情況下,我們可以使用-u參數(shù)。比如我們要查看用戶'pungki'的進(jìn)程,可以通過下面的命令:

$ ps -u pungki
2f2a3d9a-d27b-11ed-bfe3-dac502259ad0.png

5. 如何通過cpu和內(nèi)存使用來(lái)過濾進(jìn)程?

也許你希望把結(jié)果按照 CPU 或者內(nèi)存用量來(lái)篩選,這樣你就找到哪個(gè)進(jìn)程占用了你的資源。要做到這一點(diǎn),我們可以使用aux參數(shù),來(lái)顯示全面的信息:

$ ps -aux | less
2f536bca-d27b-11ed-bfe3-dac502259ad0.png

當(dāng)結(jié)果很長(zhǎng)時(shí),我們可以使用管道和less命令來(lái)篩選。

默認(rèn)的結(jié)果集是未排好序的??梢酝ㄟ^--sort命令來(lái)排序。

5.1 根據(jù)CPU使用率來(lái)升序排序

$ ps -aux --sort -pcpu | less

2f6db69c-d27b-11ed-bfe3-dac502259ad0.png

5.2 根據(jù)內(nèi)存使用率來(lái)升序排序

$ ps -aux --sort -pmem | less
2fa20e24-d27b-11ed-bfe3-dac502259ad0.png

5.3 我們也可以將它們合并到一個(gè)命令,并通過管道顯示前10個(gè)結(jié)果:

$ ps -aux --sort -pcpu,+pmem | head -n 10

6. 如何通過進(jìn)程名和PID進(jìn)行過濾呢?

使用-C參數(shù),后面跟你要找的進(jìn)程的名字。比如想顯示一個(gè)名為getty的進(jìn)程的信息,就可以使用下面的命令:

$ps-Cgetty

2fcfb18a-d27b-11ed-bfe3-dac502259ad0.jpg

如果想要看到更多的細(xì)節(jié),我們可以使用-f參數(shù)來(lái)查看格式化的信息列表:


$ ps -f -C getty

2fe3d0b6-d27b-11ed-bfe3-dac502259ad0.jpg

7. 如何根據(jù)線程來(lái)過濾進(jìn)程呢?

如果我們想知道特定進(jìn)程的線程,可以使用-L參數(shù),后面加上特定的PID。


$ ps -L 1213

2ffbdbfc-d27b-11ed-bfe3-dac502259ad0.jpg

8. 如何樹形的顯示進(jìn)程?

有時(shí)候我們希望以樹形結(jié)構(gòu)顯示進(jìn)程,可以使用-axjf參數(shù)。


$ ps -axjf

301c478e-d27b-11ed-bfe3-dac502259ad0.jpg

或者可以使用另一個(gè)命令。


$pstree

302cf188-d27b-11ed-bfe3-dac502259ad0.jpg

9. 如何顯示安全信息?

如果想要查看現(xiàn)在有誰(shuí)登入了你的服務(wù)器。可以使用ps命令加上相關(guān)參數(shù):


$ ps -eo pid,user,args

參數(shù) -e 顯示所有進(jìn)程信息,-o 參數(shù)控制輸出。Pid,UserArgs參數(shù)顯示PID,運(yùn)行應(yīng)用的用戶該應(yīng)用。

304131ac-d27b-11ed-bfe3-dac502259ad0.png

能夠與-e參數(shù) 一起使用的關(guān)鍵字是args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart 和 start。

10. 如何格式化輸出root用戶(真實(shí)的或有效的UID)創(chuàng)建的進(jìn)程?

系統(tǒng)管理員想要查看由root用戶運(yùn)行的進(jìn)程和這個(gè)進(jìn)程的其他相關(guān)信息時(shí),可以通過下面的命令:

$ ps -U root -u root u

-U參數(shù)按真實(shí)用戶ID(RUID)篩選進(jìn)程,它會(huì)從用戶列表中選擇真實(shí)用戶名或 ID。真實(shí)用戶即實(shí)際創(chuàng)建該進(jìn)程的用戶。

-u參數(shù)用來(lái)篩選有效用戶ID(EUID)。

最后的u參數(shù)用來(lái)決定以針對(duì)用戶的格式輸出,由User, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME 和 COMMAND這幾列組成。

這里有上面的命令的輸出結(jié)果:

3065bdd8-d27b-11ed-bfe3-dac502259ad0.png

11. 如何使用PS實(shí)時(shí)監(jiān)控進(jìn)程狀態(tài)?

ps 命令會(huì)顯示你系統(tǒng)當(dāng)前的進(jìn)程狀態(tài),但是這個(gè)結(jié)果是靜態(tài)的。

當(dāng)有一種情況,我們需要像上面第四點(diǎn)中提到的通過CPU和內(nèi)存的使用率來(lái)篩選進(jìn)程,并且我們希望結(jié)果能夠每秒刷新一次。為此,我們可以將ps命令和watch命令結(jié)合起來(lái)


$watch-n1‘ps-aux--sort-pmem,-pcpu’

30ac3150-d27b-11ed-bfe3-dac502259ad0.jpg

如果輸出太長(zhǎng),我們也可以限制它,比如前20條,我們可以使用head命令來(lái)做到。

$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu | head 20’

30c9849e-d27b-11ed-bfe3-dac502259ad0.png

這里的動(dòng)態(tài)查看并不像top或者h(yuǎn)top命令一樣。但是使用ps的好處是你能夠定義顯示的字段,你能夠選擇你想查看的字段。

舉個(gè)例子,如果你只需要看名為'pungki'用戶的信息,你可以使用下面的命令:

$watch-n1‘ps-aux-Upungkiu--sort-pmem,-pcpu|head20’
30ef1e5c-d27b-11ed-bfe3-dac502259ad0.png

12. 最后

你也許每天都會(huì)使用ps命令來(lái)監(jiān)控你的Linux系統(tǒng)。但是事實(shí)上,你可以通過ps命令的參數(shù)來(lái)生成各種你需要的報(bào)表。

ps命令的另一個(gè)優(yōu)勢(shì)是ps是各種 Linux系統(tǒng)都默認(rèn)安裝的,因此你只要用就行了。不要忘了通過 man ps來(lái)查看更多的參數(shù)。







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10804

    瀏覽量

    210845
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    590

    瀏覽量

    27317
  • RSS
    RSS
    +關(guān)注

    關(guān)注

    1

    文章

    33

    瀏覽量

    12317
  • PID控制
    +關(guān)注

    關(guān)注

    10

    文章

    453

    瀏覽量

    40008

原文標(biāo)題:Linux進(jìn)程查看可不是ps命令這么簡(jiǎn)單!

文章出處:【微信號(hào):浩道linux,微信公眾號(hào):浩道linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何讀取Nano120的唯一序列號(hào)?

    求助,如何讀取Nano120的唯一序列號(hào),請(qǐng)大神指點(diǎn)下,在此表示感謝!
    發(fā)表于 01-16 07:37

    Linux下常用的查看進(jìn)程及強(qiáng)制關(guān)掉進(jìn)程方法

    命令的參數(shù),意思是列出所有正在運(yùn)行的進(jìn)程;“|”線是管道的意思,這在LINUX里是十分重要的概念,當(dāng)然JAVA,甚至DOS也有這概念,樣的;grep是在源文本查找的意思,***os
    發(fā)表于 11-14 14:08

    Linux 查看進(jìn)程和刪除進(jìn)程

    ps 命令用于查看當(dāng)前正在運(yùn)行的進(jìn)程。grep 是搜索例如: ps -ef | grep java表示查看所有進(jìn)程里 CMD 是 java 的進(jìn)程
    發(fā)表于 04-24 00:04

    linux進(jìn)程位置查看

    linux下使用top命令可以查看進(jìn)程,但是單從文件名無(wú)法定位到進(jìn)程的位置。有如下兩種方法:
    發(fā)表于 07-25 07:48

    【工程源碼】Linux 查看進(jìn)程和刪除進(jìn)程

    (前提是要有這個(gè)東西,例如在裝了 tomcat 的前提下, 輸入 tomcat 的 to 按 tab)。ps 命令用于查看當(dāng)前正在運(yùn)行的進(jìn)程。grep 是搜索例如: ps -ef | grep
    發(fā)表于 02-23 20:05

    linux系統(tǒng)進(jìn)程怎么查看與控制

    linux系統(tǒng)進(jìn)程查看與控制
    發(fā)表于 05-28 11:02

    請(qǐng)問如何讀取CPU唯一序列號(hào)?

    請(qǐng)問如何讀取CPU唯一序列號(hào)?
    發(fā)表于 09-24 09:02

    常用的Linux指令怎么查看當(dāng)前進(jìn)程?怎么執(zhí)行退出

    Linux驅(qū)動(dòng)指令常用的Linux指令怎么查看當(dāng)前進(jìn)程?怎么執(zhí)行退出?怎么查看當(dāng)前路徑?查看當(dāng)前
    發(fā)表于 12-15 07:43

    使用Linux命令lsof查看進(jìn)程打開和查看文件的說明

    linux命令 — lsof 查看進(jìn)程打開那些文件 或者 查看文件給那個(gè)進(jìn)程使用對(duì)調(diào)試文件有很好的幫助和精準(zhǔn)定位問題
    發(fā)表于 10-28 08:00 ?0次下載

    Linux服務(wù)的內(nèi)容如何查看

     ps是進(jìn)程查看命令,netstat是端口查看命令,在Linux系統(tǒng),服務(wù)定是有
    發(fā)表于 05-20 09:09 ?735次閱讀
    <b class='flag-5'>Linux</b>服務(wù)的內(nèi)容如何<b class='flag-5'>查看</b>

    linux進(jìn)程怎么查看

    Linux系統(tǒng),每個(gè)程序啟動(dòng)后可以創(chuàng)建個(gè)或多個(gè)進(jìn)程。例如,提供Web服務(wù)的httpd程序,當(dāng)有大量用戶同時(shí)訪問Web頁(yè)面時(shí),httpd程序可能會(huì)創(chuàng)建多個(gè)
    發(fā)表于 05-22 08:56 ?849次閱讀
    <b class='flag-5'>linux</b>的<b class='flag-5'>進(jìn)程</b>怎么<b class='flag-5'>查看</b>

    如何使用Moore狀態(tài)機(jī)設(shè)計(jì)一序列檢測(cè)計(jì)實(shí)驗(yàn)的工程文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用Moore狀態(tài)機(jī)設(shè)計(jì)一序列檢測(cè)計(jì)實(shí)驗(yàn)的工程文件免費(fèi)下載
    發(fā)表于 12-04 16:46 ?9次下載

    linux查看端口被進(jìn)程占用的方法 Linux與windows的區(qū)別

    基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。 linux查看端口被進(jìn)程占用的方法 1、、lsof -i:端口號(hào) 2、netstat -tunlp|grep 端口號(hào)
    的頭像 發(fā)表于 08-22 14:23 ?2318次閱讀

    嵌入式linux查看服務(wù)進(jìn)程,通過proc查看進(jìn)程資源

    本課程是《嵌入式工程師自我修養(yǎng)》自學(xué)教程六步走的第3步:Linux系統(tǒng)編程第04期。進(jìn)程,是Linux系統(tǒng)任務(wù)調(diào)度運(yùn)行的基本單元:
    發(fā)表于 11-01 17:37 ?8次下載
    嵌入式<b class='flag-5'>linux</b><b class='flag-5'>查看</b>服務(wù)<b class='flag-5'>進(jìn)程</b>,通過proc<b class='flag-5'>查看</b><b class='flag-5'>進(jìn)程</b>資源

    linux查看weblogic進(jìn)程

    Linux操作系統(tǒng),WebLogic是種常用的Java應(yīng)用服務(wù)器,用于部署和管理企業(yè)級(jí)Java應(yīng)用程序。為了確保WebLogic服務(wù)器正常運(yùn)行,有時(shí)我們需要
    的頭像 發(fā)表于 12-05 16:07 ?1745次閱讀