導航:首頁 > 編程系統 > linux進程stat

linux進程stat

發布時間:2023-04-13 11:33:16

linux怎麼用stat命令顯示文件

用法:stat [選項]... 文件...
顯示文件或文件系統的狀態。
-L, --dereference 跟隨鏈接
-f, --file-system 顯示文件系統狀態而非文件狀態
-c --format=格式 使用指定輸出格式代替默認值,每用一次指定格式換一新行
--printf=格式 類似 --format,但是會解釋反斜杠轉義符,不使用換行作
輸出結尾。如果您仍希望使用換行,可以在格式中
加入"\n"
-t, --terse 使用簡潔格式輸出
--help 顯示此幫助信息並退出
--version 顯示版本信息並退出
有效的文件格式序列(不使用 --file-system):
%a 八進制許可權
%A 用可讀性較好的方式輸出許可權
%b 計算已分配塊數(參見%B)
%B 以位元組為單位輸出%b 所報告的每個塊的大小
%C SELinux 安全環境字元串
%d 十進制設備編號
%D 十六進制設備編號
%f 十六進制原始模式
%F 文件類型
%g 文件的屬組ID
%G 文件的屬組組名
%h 硬鏈接數量
%i Inode 編號
%m 掛載點
%n 文件名
%N 如果對象是一個符號鏈接,顯示引用到的其它文件名
%o I/O 塊大小
%s 總計大小,以位元組為單位
%t 十六進制主設備類型
%T 十六進制子設備類型
%u 文件的屬主ID
%U 文件的屬主用戶名
%w 文件創建時間,若未知則顯示"-"
%W 從UNIX 元年起以秒計的文件創建時間,若未知則顯示"-"
%x 上次訪問時間
%X 從UNIX 元年起以秒計的上次訪問時間
%y 上次修改時間
%Y 從UNIX 元年起以秒計的上次修改時間
%z 上次更改時間
%Z 從UNIX 元年起以秒計的上次更改時間
有效的文件系統格式序列:
%a 非超級用戶可用的剩餘塊數
%b 文件系統的總數據塊數
%c 文件系統中文件節點總數
%d 文件系統中空閑文件節點數
%f 文件系統中空閑塊數
%i 十六進制文件系統ID
%I 允許的文件名最大長度
%n 文件名
%s 塊大小(用於快速傳輸)
%S 基本塊大小(用於塊計數)
%t 十六進制類型描述
%T 可讀性較好的類型描述
注意:您的shell 內含自己的stat 程序版本,它會覆蓋這里所提及的相應
版本。請查閱您的shell 文檔獲知它所支持的選項。

ls 命令及其許多參數提供了一些非常有用的文件信息。另一個不太為人所熟知的命令 stat 提供了一些更為有用的信息。
下面演示了如何對可執行文件「oracle」(位於 $ORACLE_HOME/bin 目錄下)使用此命令。

復制代碼
代碼如下:

# cd $ORACLE_HOME/bin
# stat oracle
File: `oracle'
Size: 93300148 Blocks:182424 IO Block:4096 Regular File
Device: 343h/835d Inode: 12009652 Links: 1
Access: (6751/-rwsr-s--x) Uid:( 500/ oracle) Gid:( 500/ dba)
Access: 2006-08-04 04:30:52.000000000 -0400
Modify: 2005-11-02 11:49:47.000000000 -0500
Change: 2005-11-02 11:55:24.000000000 -0500

注意使用該命令獲得的信息:除了通常的文件大小(也可以使用 ls -l 命令獲得)以外,您還獲得了該文件佔用的塊數。通常的 Linux 塊大小為 512 位元組,因此一個大小為 93,300,148 位元組的文件將佔用 (93300148/512=) 182226.85 個塊。由於塊都是完整佔用,因此該文件使用了一些整數個數的塊。無需猜測就可以獲得確切的塊數。
您還可以從以上輸出中獲得文件所有權的 GID 和 UID,以及許可權的八進製表示形式 (6751)。如果要將文件恢復到它現在具有的相同許可權,可以使用 chmod 6751 oracle,而不是顯式拼寫這些許可權。
以上輸出最有用的部分是文件訪問時間戳信息。該輸出顯示,該文件被訪問的時間是 2006-08-04 04:30:52(顯示在「Access:」的旁邊),即 2006 年 8 月 4 日上午 4:30:52。這是某個人開始使用資料庫的時間。該文件的修改時間是 2005-11-02 11:49:47(顯示在「Modify:」的旁邊)。最後,「Change:」旁邊的時間戳顯示文件狀態更改的時間。
stat 命令的修改符 -f 顯示了有關文件系統(而非文件)的信息:

復制代碼
代碼如下:

# stat -f oracle
File: "oracle"
ID: 0 Namelen:255 Type:ext2/ext3
Blocks: Total: 24033242 Free: 15419301 Available: 14198462 Size: 4096
Inodes: Total: 12222464 Free: 12093976

另一個選項 -t 顯示了完全相同的信息,只不過是在一行中顯示的:

復制代碼
代碼如下:

# stat -t oracle
oracle 93300148 182424 8de9 500 500 343 12009652 1 0 0 1154682061
1130950187 1130950524 4096

這對 shell 腳本非常有用,在 shell 腳本中可以使用一個簡單的 cut 命令獲得值以進行進一步處理。

⑵ 這個是linux系統中PS的進程命令,我問下STAT是什麼意思,還有底下的的S與R是什麼意思啊,還有那個

1)STAT: 進程狀態
2)S: 處於休眠狀態,靜止狀態
3)R: 正在運行,在可中斷隊列中
4)%CPU:佔用的CPU使用率

⑶ linux 的stat 命令 加參數怎麼使用

自己輸入 man stat 會出現關於stat命令的各種信息 包括它的參數

⑷ Linux裡面stat命令作用是什麼

查看文件的全面信息,大小,許可權,UID,gid,以及時間戳

⑸ 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下ps aux里頭stat為Ss,S+, Rs,Ds是什麼意思

S處於休眠狀態,靜止狀態;+位於後台的進程組,R正在運行,御沖梁在可中斷隊列中,D無法中斷的休眠狀態(通常io的鎮運進程)。具體操作方法如下:

1、stat --help顯示命令幫助信息。

⑺ linux下用程序讀取某進程的狀態信息(/proc/[pid]/stat)時,該進程結束了。怎麼辦

/proc/中文件都是實時的 即你的進程結束指父進程,那麼 /proc/中就不會再有該記錄

⑻ Linux 平台如何查看某個進程的線程數

1。 使用top命令,具體用法是 top -H 加上這個選項,top的每一行就不是顯示一個進程,而是一個線程。 2。 使用ps命令,具體用法是 ps -xH 這樣可以查看所有存在的線程,也可以使用grep作進一步的過濾。 3。 使用ps命令,具體用法是 ps -mq PID 這樣可以看到指定的進程產生的線程數目。 更進一步,其實一些系統監控工具,在本質上也是讀取的系統產生的文件罷了。比如說進程這個事情, 看看這個目錄吧,/proc/5000/ 這裡面有你所有想要的。其實stat代表著當前的一些信息。 使用ps命令來查看進程的時候,進程狀態分別對應的含義如下: D 不可中斷睡眠 (通常是在IO操作) 收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生 R 正在運行或可運行(在運行隊列排隊中) S 可中斷睡眠 (休眠中, 受阻, 在等待某個條件的形成或接受到信號) T 已停止的 進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行 W 正在換頁(2.6.內核之前有效) X 死進程 (未開啟) Z 僵屍進程 進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放BSD風格的 < 高優先順序(not nice to other users) N 低優先順序(nice to other users) L 頁面鎖定在內存(實時和定製的IO) s 一個信息頭 l 多線程(使用 CLONE_THREAD,像NPTL的pthreads的那樣) + 在前台進程組

⑼ linux怎麼使用stat命令查看文件信息

linux下查看文件詳細信息命令stat。

說明:Access訪問時間。修改時間。Change狀態改變時間。可以stat *查看這個目錄所有文件的狀態
與文件相關的3個時間:
1、訪問時間,讀一次這個文件的內容,這個時間就會更新。比如對這個文件使用more命令。ls、stat命令都不會修改文件的訪問時間。
2、修改時間,對文件內容修改一次,這個時間就會更新。比如:vi後保存文件。ls -l列出的時間就是這個時間。
3、狀態改變時間。通過chmod命令更改一次文件屬性,這個時間就會更新。查看文件的詳細的狀態、准確的修改時間等,可以通過stat命令文件名。
size: 427
說明:
文件的大小.
Blocks: 8
說明:
這個文件佔用了8個塊,塊的單位是512個位元組,因為文件系統的塊為4096個位元組,除以512個位元組,就是8個Blocks.也就是一個文件最小也要佔用8個block.
regular file
說明:
文件的狀態是不是正常的,此處為完整文件(個人理解是這個意思,請高手指點)
Device: fd00h/64768d
說明:是指存放文件的設備 詳細的不太理解 請高手賜教
IO Block: 4096
說明:
IO
Block表示文件系統塊的大小,ext3默認為4096,可以調整為2048等,但ext3最大也即是4096,可以通過tune2fs
-l /dev/sda1來確認.
Inode: 23724038
說明:
Inode就是I節點,這里說明的是23724038並不是系統已經用了這么多個inode,比如現在新建文件2,inode為23724039,這時新建文件3,inode為23724040,此時你刪了文件2,再建文件4,它的inode還是23724039.
最後要注意一個文件只有一個Inode,Inode指引我們找到文件的信息.
Links: 1
說明:
只有這個文件名用了這個Inode.如果有兩個文件名用了這個Inode,這里的數字將是2,例如一個硬鏈接。

⑽ linux中查看進程命令ps aux和ps -ef

Linux下顯示系統進程的命令ps,最常用的有ps -ef 和ps aux。這兩個到底有什麼區別呢?兩者沒太大差別,討論這個問題,要追溯到Unix系統中的兩種風格,System V風格和BSD 風格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,兩者輸出略有不同。現在的大部分Linux系統都是可以同時使用這兩種方式的。

ps -ef 是用標準的格式顯示進程的、其格式如下: 

其中各列的內容意思如下 

UID //用戶ID、但輸出的是用戶名 

PID //進程的ID 

PPID //父進程ID 

C //進程棚纖彎佔用CPU的百分比 

STIME //進程啟動到現在的時間 

TTY //該進程在那個終端上運行,若與終端無關,則顯示? 若為pts/0等,則表示由網豎脊絡連接主機進程。 

CMD //命令的名稱和參數

ps aux 是用BSD的格式來顯示、其格式如下: 

同ps -ef 不同的有列有 

USER //用戶名 

%CPU //進程佔用的CPU百分比 

%MEM //佔用內存的百分比 

VSZ //該進程使用的虛擬內存量(KB) 

RSS //該進程佔用的固定內存量(KB)(駐留中頁的數量) 

STAT //進程的狀態 

START //該進程被觸發啟動時間 

TIME //該進程實際使用CPU運行的時間

其中STAT狀態位常見的狀態字元有 

D //無法中斷的休眠狀態(通常 IO 的進程); uninterruptible sleep (usually IO)不可中斷 

R //正在運行可中在隊列中可過行的; 

S //處於休眠狀態; 

T //停止或被追蹤; traced or stopped 

W //進入內存交換 (從內核2.6開始無效); 

X //死掉的進程 (基本很少見); 

Z //僵屍進程;  a defunct (」zombie」) process

< //優先順序高的進程 

N //優先順序較低的進程 

L //有些頁被鏈悶鎖進內存; 

s //進程的領導者(在它之下有子進程); 

l //多線程,克隆線程(使用 CLONE_THREAD, 類似 NPTL pthreads); 

+ //位於後台的進程組;

閱讀全文

與linux進程stat相關的資料

熱點內容
如何給網站掛黑鏈 瀏覽:282
360斷網急救箱網路異常修復不了 瀏覽:889
身份證驗證的js文件 瀏覽:994
什麼人經常換微信名字 瀏覽:707
網站源碼挖掘 瀏覽:944
荔枝fm和app哪個播放量好 瀏覽:535
樂秀音頻在哪個文件里 瀏覽:486
以數據說話什麼意思 瀏覽:319
java中對象 瀏覽:794
酷狗網路機頂盒如何設置 瀏覽:408
threejs添加文字 瀏覽:436
微信春節理財通 瀏覽:948
qq主題模塊應用教程 瀏覽:993
javaweb項目打包 瀏覽:59
qq主題是哪個文件夾里 瀏覽:642
超越狂暴升級txt書包 瀏覽:263
cad復制不能粘貼到新建文件 瀏覽:565
linux網路socket編程 瀏覽:926
戰爭雷霆客戶端在哪個文件里 瀏覽:847
如何授權點淘app讀取步數 瀏覽:671

友情鏈接