導航:首頁 > 編程系統 > linux進程名稱proc

linux進程名稱proc

發布時間:2024-04-07 13:04:25

1. linux下的proc目錄詳解

文章結構:

proc是Linux系統下一個很重要的目錄。 它跟/etc, /home等這些系統目錄不同, 它不是一個真正的文件系統, 而是一個虛擬的文件系統。 它不存在於磁碟, 而是存在於系統內存中。 所以當你使用 ls -al /proc這條命令來查看proc目錄時, 會看到其下面的所有文件的大小都為0位元組。 proc以文件系統的方式為訪問系統內核的操作提供介面。 很多系統的信息, 如內存使用情況, cpu使用情況, 進程信息等等這些信息,都可以通過查看/proc下的對應文件來獲得。 proc文件系統是動態從系統內核讀出所需信息的。

proc目錄下具體有哪些文件呢?

/proc 目錄下的文件

/proc/cpuinifo CPU的信息(型號、家族、緩存大小等)

/proc/meminfo物理內存、交換空間

/proc/mounts 已載入的文件系統的列表

/proc/devices 可用設備的列表

/proc/filesystems 被支持的文件系統

/proc/moles 已載入的模塊

/proc/virsion 內核版本

/proc/cmdline 系統啟動時輸入的內核命令行參數

/proc/XXX XXX是指以進程PID(數字編號)命名的目錄,每一個目錄表示一個進程(即線程組)。

/proc/swaps 要獲知swap空間的使用情況

/proc/uptime 獲取系統的正常運行時間

/proc/fs/nfsd/exports 列出由NFS共享的文件系統

/proc/kmsg 該文件被作為內核日誌信息源,它可以被作為一個系統信息調用的介面使用

/proc/self -- 到當前進程/proc目錄的符號鏈接,通過這個目錄可以獲取當前運行進程的信息。

/proc/pci -- 掛接在PCI匯流排上的設備

/proc/tty/driver/serial --串口配置、統計信息

/proc/version -- 系統版本信息

/proc/sys/kernel/ostype

/proc/sys/kernel/osrelease

/proc/sys/kernel/version

/proc/sys/kernel/hostname -- 主機名

/proc/sys/kernel/domainname -- 域名

/proc/partitions -- 硬碟設備分區信息

/proc/sys/dev/cdrom/info -- CDROM信息

/proc/locks -- 當前系統中所有的文件鎖

/proc/loadavg -- 系統負荷信息

/proc/uptime -- 系統啟動後的運行時間

很多系統命令在讀取系統信息的時候,其實是從proc目錄下讀取對應的文件來獲得的。 所以如果我們不使用這些命令, 直接到proc目錄下去查看對應文件,也是可以獲得對應的信息的。 下面舉幾個例子:

對於查看進程信息一欄,做下補充:

/proc/N pid為N的進程信息

/proc/N/cmdline 進程啟動命令

/proc/N/cwd 鏈接到進程當前工作目錄

/proc/N/environ 進程環境變數列表

/proc/N/exe 鏈接到進程的執行命令文件

/proc/N/fd 包含進程相關的所有的文件描述符

/proc/N/maps 與進程相關的內存映射信息

/proc/N/mem 指代進程持有的內存,不可讀

/proc/N/root 鏈接到進程的根目錄

/proc/N/stat 進程的狀態

/proc/N/statm 進程使用的內存的狀態

/proc/N/status 進程狀態信息,比stat/statm更具可讀性

/proc/self 鏈接到當前正在運行的進程

更多的應用場景, 留給大家自己到/proc目錄下探索吧。

2. Linux 怎麼根據進程號,找對應的進程!

1、Linux根據進程號查詢相應的進程信息,可以使用ps命令的-q參數來進行查詢回。

2、舉例來說,答已知進程號為12840,查詢其相應的進程。

ps-q12840

說明:-o是指明輸出的格式,comm=即輸出格式只輸出comand,即只顯示進程的名稱。

3. Linux裡面proc是什麼

proc被稱為虛擬文件系統,它是一個控制中心,可以通過更改其中某些文件改變內核運內行狀態,它也是內容核提空給我們的查詢中心,用戶可以通過它查看系統硬體及當前運行的進程信息。
Linux中許多工具的數據來源正是proc目錄中的內容,比如lsmod的命令是cat /proc/moles的別名。
更多關於proc的介紹,或者是Linux的命令講解,樓主可以網路《Linux就該這么學》,裡面有詳細的介紹和使用案例可以參考學習。

4. Linux ps命令:用於顯示當前進程 (process) 的狀態

ps [options] [—help]

ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C <指令名稱>][-g <群組名稱>]

[-G <群組識別碼>][-p <進程圓褲鬧識別碼>][p <進程識別碼>][-s <階段作業>]

[-t <終端機編號>][t <終端機編號>][-u <用戶識別碼>][-U <用戶識別碼>]

[U <用戶名稱>][-<進程識別碼>][--cols <每列字元數>]

[--columns <每列字元數>][--cumulative][--deselect][--forest]

[--headers][--help][-- info][--lines <顯示列數>][--no-headers]

[--group <群組名稱>][-Group <群組識別碼>][--pid <進程識別碼>]

[--rows <顯示列數>][--sid <階段作業>][--tty <終端機編號>]

[--user <用戶名稱>][--User <用戶識別碼>][--version]

[--width <每列字元數>]

       -a  顯示所有終端機下執行的進程,除了階段作業領導者之外

a  顯示現行終端機下的所有進程,包括其他用戶的進程

-A  顯示所有進程

-c  顯示CLS和PRI欄位

c  列出進程時,顯示每個進程真正的指令名稱,而不包含路徑,參數或常駐服務的標示

-C<指令名稱> 指定執行指令的名稱,並列出該指令橘罩的進程的狀況

-d 顯示所有進程,但不包括階段作業領導者的進程

-e 此參數的效果和指定"A"參數相同

e 列出進程時,顯示每個進程所使用的環境變數

-f 顯示UID,PPIP,C與STIME欄位

f 用ASCII字元顯示樹狀結構,表達進程間的相互關系

-g<群組名稱> 此參數的效果和指定"-G"參數相同,當亦能使純兄用階段作業領導者的名稱來指定

g 顯示現行終端機下的所有進程,包括群組領導者的進程

-G<群組識別碼> 列出屬於該群組的進程的狀況,也可使用群組名稱來指定

h 不顯示標題列

-H 顯示樹狀結構,表示進程間的相互關系

-j或j 採用工作控制的格式顯示進程狀況

-l或l 採用詳細的格式來顯示進程狀況

L 列出欄位的相關信息

-m或m 顯示所有的執行緒

n 以數字來表示USER和WCHAN欄位

-N 顯示所有的進程,除了執行ps指令終端機下的進程之外

-p<進程識別碼> 指定進程識別碼,並列出該進程的狀況

   p<進程識別碼> 此參數的效果和指定"-p"參數相同,只在列表格式方面稍有差異

r 只列出現行終端機正在執行中的進程

-s<階段作業> 指定階段作業的進程識別碼,並列出隸屬該階段作業的進程的狀況

    s 採用進程信號的格式顯示進程狀況

S 列出進程時,包括已中斷的子進程資料

-t<終端機編號> 指定終端機編號,並列出屬於該終端機的進程的狀況

t<終端機編號> 此參數的效果和指定"-t"參數相同,只在列表格式方面稍有差異

-T 顯示現行終端機下的所有進程

-u<用戶識別碼> 此參數的效果和指定"-U"參數相同

u 以用戶為主的格式來顯示進程狀況

-U<用戶識別碼> 列出屬於該用戶的進程的狀況,也可使用用戶名稱來指定

U<用戶名稱> 列出屬於該用戶的進程的狀況

v 採用虛擬內存的格式顯示進程狀況

-V或V 顯示版本信息

-w或w 採用寬闊的格式來顯示進程狀況。

   x 顯示所有進程,不以終端機來區分

   X 採用舊式的Linux i386登陸格式顯示進程狀況

   -y 配合參數"-l"使用時,不顯示F(flag)欄位,並以RSS欄位取代ADDR欄位

-<進程識別碼> 此參數的效果和指定"p"參數相同

--cols<每列字元數> 設置每列的最大字元數

--columns<每列字元數> 此參數的效果和指定"--cols"參數相同

--cumulative 此參數的效果和指定"S"參數相同

--deselect 此參數的效果和指定"-N"參數相同

--forest 此參數的效果和指定"f"參數相同

--headers 重復顯示標題列

--help 在線幫助

--info 顯示排錯信息

--lines<顯示列數> 設置顯示畫面的列數

--no-headers  此參數的效果和指定"h"參數相同,只在列表格式方面稍有差異

--group<群組名稱> 此參數的效果和指定"-G"參數相同

--Group<群組識別碼> 此參數的效果和指定"-G"參數相同

--pid<進程識別碼> 此參數的效果和指定"-p"參數相同

--rows<顯示列數> 此參數的效果和指定"--lines"參數相同

--sid<階段作業> 此參數的效果和指定"-s"參數相同

--tty<終端機編號> 此參數的效果和指定"-t"參數相同

--user<用戶名稱> 此參數的效果和指定"-U"參數相同

--User<用戶識別碼> 此參數的效果和指定"-U"參數相同

--version 此參數的效果和指定"-V"參數相同

       --widty<每列字元數> 此參數的效果和指定"-cols"參數相同

       -A 列出所有的行程

       -w 顯示加寬可以顯示較多的資訊

      -au 顯示較詳細的資訊

      -aux 顯示所有包含其他使用者的行程

linux上進程有5種狀態: 

1. 運行(正在運行或在運行隊列中等待) 

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

3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生) 

4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放) 

5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行) 

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

D 不可中斷 uninterruptible sleep (usually IO) 

R 運行 runnable (on run queue) 

S 中斷 sleeping 

T 停止 traced or stopped 

Z 僵死 a defunct (」zombie」) process 

1、# ps aux //顯示所有正在內存中的程序

USER:該 process 屬於那個使用者賬號的

PID :該 process 的號碼

%CPU:該 process 使用掉的 CPU 資源百分比

%MEM:該 process 所佔用的物理內存百分比

VSZ :該 process 使用掉的虛擬內存量 (Kbytes)

RSS :該 process 佔用的固定的內存量 (Kbytes)

TTY :該 process 是在那個終端機上面運作,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程序,若為 pts/0 等等的,則表示為由網路連接進主機的程序。

STAT:該程序目前的狀態,主要的狀態有

R :該程序目前正在運作,或者是可被運作

S :該程序目前正在睡眠當中 (可說是 idle 狀態),但可被某些訊號 (signal) 喚醒。

D: 無法中斷的休眠狀態 (通常 IO 的進程)

T :該程序目前正在偵測或者是停止了

Z :該程序應該已經終止,但是其父程序卻無法正常的終止他,造成 zombie (疆屍) 程序的狀態

<: 高優先序的行程

N: 低優先序的行程

L: 有記憶體分頁分配並鎖在記憶體內 (實時系統或捱A I/O)

START:該 process 被觸發啟動的時間

TIME :該 process 實際使用 CPU 運作的時間

COMMAND:該程序的實際指令

2、# ps -A 顯示進程信息

3、# ps -u work //顯示work進程用戶信息

4、# ps -ef //顯示所有命令,連帶命令行

5、# ps -l //將屬於自己這次登入的pid與相關信息顯示出來

F:代表這個程序的旗標 (flag), 4 代表使用者為 super user

S:代表這個程序的狀態 (STAT)

UID:程序被該 UID 所擁有

PID:就這個程序的 ID 

PPID:其上級父程序的ID

C:CPU使用的資源百分比

PRI: Priority (優先執行序) 的縮寫

NI: Nice 值

ADDR:kernel function,指出該程序在內存的那個部分。如果是個 running的程序,一般就是 "-"

SZ:使用掉的內存大小

WCHAN:目前這個程序是否正在運作當中,若為 - 表示正在運作

TTY:登入者的終端機位置

TIME:使用掉的 CPU 時間。

CMD:所下達的指令為何

在預設的情況下, ps 僅會列出與目前所在的 bash shell 有關的 PID,所以, 當使用 ps -l 的時候,只有三個 PID。

6、其他

1)可以用 | 管道和 more 連接起來分頁查看

命令:ps -aux |more

2)把所有進程顯示出來,並輸出到ps001.txt文件

命令:ps -aux > ps001.txt

3)輸出指定的欄位

命令:ps -o pid,ppid,pgrp,session,tpgid,comm

閱讀全文

與linux進程名稱proc相關的資料

熱點內容
怎麼樣讓自己的網站不被別人看到 瀏覽:711
編程擴展效果如何 瀏覽:335
榮耀暢玩手環同步qq 瀏覽:475
怎麼向sql中添加資料庫 瀏覽:596
錄歌失敗重啟app什麼意思 瀏覽:522
壓縮文件包怎麼在微信發送 瀏覽:432
mysql資料庫怎麼插入時間值 瀏覽:191
微信視頻不能轉發朋友圈 瀏覽:596
影視後期的app有哪些 瀏覽:956
電子保單數據出錯什麼意思 瀏覽:368
如何以文件下載音樂 瀏覽:438
計算機網路章節練習 瀏覽:999
單片機的外部中斷程序 瀏覽:48
表格批量更名找不到指定文件 瀏覽:869
js的elseif 瀏覽:584
3dmaxvray視頻教程 瀏覽:905
imgtool工具中文版 瀏覽:539
java幫助文件在哪裡 瀏覽:965
win10切換輸入語言 瀏覽:696
haier電視網路用不了怎麼辦 瀏覽:361

友情鏈接