1. 程式人生 > >linux下檢視程序的狀態 /proc/[pid]/status

linux下檢視程序的狀態 /proc/[pid]/status

檢視程序的狀態:

1.檢視程序的pid,以java為例:ps -ef | grep java

2.檢視程序狀態:cat /proc/[pid]/status

關鍵字: linux 
[[email protected] ~]# cat /proc/self/status 
Name: cat 
State: R (running) 
SleepAVG: 88% 
Tgid: 5783 
Pid: 5783 
PPid: 5742 
TracerPid: 0 
Uid: 0 0 0 0 
Gid: 0 0 0 0 
FDSize: 256 
Groups: 0 1 2 3 4 6 10 
VmSize: 6588 kB 
VmLck: 0 kB 
VmRSS: 400 kB 
VmData: 144 kB 
VmStk: 2040 kB 
VmExe: 14 kB 
VmLib: 1250 kB 
StaBrk: 0804e000 kB 
Brk: 088df000 kB 
StaStk: bfe03270 kB 
ExecLim: 0804c000 
Threads: 1 
SigPnd: 0000000000000000 
ShdPnd: 0000000000000000 
SigBlk: 0000000000000000 
SigIgn: 0000000000000000 
SigCgt: 0000000000000000 
CapInh: 0000000000000000 
CapPrm: 00000000fffffeff 
CapEff: 00000000fffffeff 


輸出解釋 
引數 解釋 
Name 應用程式或命令的名字 
State 任務的狀態,執行/睡眠/僵死/ 
SleepAVG 任務的平均等待時間(以nanosecond為單位),互動式任務因為休眠次數多、時間長,它們的 sleep_avg 也會相應地更大一些,所以計算出來的優先順序也會相應高一些。 
Tgid 執行緒組號 
Pid 任務ID 
Ppid 父程序ID 
TracerPid 接收跟蹤該程序資訊的程序的ID號 
Uid Uid euid suid fsuid 
Gid Gid egid sgid fsgid 
FDSize 檔案描述符的最大個數,file->fds 
Groups 
VmSize(KB) 任務虛擬地址空間的大小 (total_vm-reserved_vm),其中total_vm為程序的地址空間的大小,reserved_vm:程序在預留或特殊的記憶體間的物理頁 
VmLck(KB) 任務已經鎖住的實體記憶體的大小。鎖住的實體記憶體不能交換到硬碟 (locked_vm) 
VmRSS(KB) 應用程式正在使用的實體記憶體的大小,就是用ps命令的引數rss的值 (rss) 
VmData(KB) 程式資料段的大小(所佔虛擬記憶體的大小),存放初始化了的資料; (total_vm-shared_vm-stack_vm) 
VmStk(KB) 任務在使用者態的棧的大小 (stack_vm) 
VmExe(KB) 程式所擁有的可執行虛擬記憶體的大小,程式碼段,不包括任務使用的庫 (end_code-start_code) 
VmLib(KB) 被映像到任務的虛擬記憶體空間的庫的大小 (exec_lib) 
VmPTE 該程序的所有頁表的大小,單位:kb 
Threads 共享使用該訊號描述符的任務的個數,在POSIX多執行緒序應用程式中,執行緒組中的所有執行緒使用同一個訊號描述符。 
SigQ 待處理訊號的個數 
SigPnd 遮蔽位,儲存了該執行緒的待處理訊號 
ShdPnd 遮蔽位,儲存了該執行緒組的待處理訊號 
SigBlk 存放被阻塞的訊號 
SigIgn 存放被忽略的訊號 
SigCgt 存放被俘獲到的訊號 
CapInh Inheritable,能被當前程序執行的程式的繼承的能力 
CapPrm Permitted,程序能夠使用的能力,可以包含CapEff中沒有的能力,這些能力是被程序自己臨時放棄的,CapEff是CapPrm的一個子集,程序放棄沒有必要的能力有利於提高安全性 
CapEff Effective,程序的有效能力 

 

轉自與:

https://blog.csdn.net/weiruoao/article/details/36875899