1. 程式人生 > >Linux中用ps命令檢視程序狀態

Linux中用ps命令檢視程序狀態

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

注: 其它狀態還包括W(無駐留頁), <(高優先順序程序), N(低優先順序程序), L(記憶體鎖頁).

可以用下面命令檢視程序狀態:

ps -aux

列出類似程式樹的程式顯示(顯示程序下有哪些子程序):

ps -axjf

找出與 cron 與 syslog 這兩個服務有關的 PID 號碼

ps aux | egrep '(cron|syslog)'

也可以這樣使用ps格式輸出來檢視程序狀態:

ps -eo user,stat
..,cmd
user          使用者名稱 
uid           使用者號 
pid           程序號 
ppid          父程序號 
size          記憶體大小, Kbytes位元組. 
vsize         總虛擬記憶體大小, bytes位元組(包含code+data+stack) 
share         總共享頁數 
nice          程序優先順序(預設為0, 最大為-20) 
priority(pri) 核心排程優先順序 
pmem          程序分享的實體記憶體數的百分比 
trs           程式執行程式碼駐留大小 
rss           程序使用的總實體記憶體數, Kbytes位元組 
time          程序執行起到現在總的CPU暫用時間 
stat          程序狀態 
cmd(args)     執行命令的簡單格式 

例子:
檢視當前系統程序的uid,pid,stat,pri, 以uid號排序.

ps -eo pid,stat,pri,uid --sort uid 

檢視當前系統程序的user,pid,stat,rss,args, 以rss排序.

ps -eo user,pid,stat,rss,args --sort rss 

在Linux下,還有一種方法檢查某個程序是否存在:利用/proc檔案系統. /proc/pid/stat裡面有程序的狀態,程序可執行檔名等.如果該檔案不存在了,那程序肯定退出了.如果存在,可以檢查狀態和檔名是否正確.效率可能比PS還是高一些,因為/proc是虛擬檔案系統,存在與記憶體中.

如何利用/proc檔案系統

cat /proc/pid/status 

這裡pid是你的程序ID,看看輸出結果,有一欄是State

你要利用/proc檔案系統時,int fd = open( “/proc/pid/status”, O_RDONLY );
這裡pid是實際的程序的pid,如果open失敗,剛程序顯然不存在,然後讀取該檔案的內容,找出State。

相關推薦

Linux中用ps命令檢視程序狀態

Linux上程序有5種狀態: 1. 執行(正在執行或在執行佇列中等待) 2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到訊號) 3. 不可中斷(收到訊號不喚醒和不可執行, 程序必須等待直到有中斷髮生) 4. 僵死(程序已終止, 但程序描

top、ps命令檢視程序中的執行緒方法

方法一:PS ps -a顯示所有程序pid,“-T”選項可以開啟執行緒檢視。 eg: ps -aT 顯示所有執行緒 方法二: Top top用於實時檢視各個執行緒情況,用top命令的“-H”選項,該選項會列出所有Linux執行緒。 eg1. top -H 所有執行緒 eg2.

Linux中用free命令檢視記憶體佔用情況

free命令可以顯示Linux系統中空閒的、已用的實體記憶體及swap記憶體,及被核心使用的buffer。在Linux系統監控的工具中,free命令是最經常使用的命令之一。 1.命令格式: free [引數] 2.命令功能: free 命令顯示系統使用和空閒的記憶體情況,包

linux使用ps檢視程序執行的時間 【轉】

可通過ps 來檢視,通過引數 -o 來檢視 例: ps -eo pid,tty,user,comm,lstart,etime | grep init 引數說明: pid:程序ID tty:終端 user:使用者 comm:程序名 lstart:開

ps命令顯示程序狀態解析

使用ps -ax可以看到顯示的資訊如下: PID TTY STAT TIME COMMAND 1 ? Ss 0:01 /sbin/init 2 ? S 0:00 [kthreadd]

Android中使用ps命令檢視程序PID

adb shell 進入手機後,執行ps就能顯示手機裡所有正在執行的程序 Annroid 中ps命令引數:-t -x,-p,-P,-c [pid|name] -t顯示程序下的執行緒列表 -x 顯示程序

Linuxps命令查詢程序PID再用kill命令終止程序的方法

使用linux作業系統,難免遇到一些軟體"卡殼"的問題,這時就需要使用linux下強大的kill命令來結束相關程序。這在linux系統下是極其容易的事情,你只需要kill xxx即可,這裡xxx代表與此軟體執行相關的程序PID號。    首先,我們需要使用linux下另外一

Linux下使用ps命令檢視某個程序檔案的啟動位置

[root@izbp190idbje1fp4hnpk53z src]# ps aux | grep redis [root@

ps命令檢視程序

[[email protected] log]# ps -f -e -o pid,ppid,pgid,comm PID PPID PGID COMMAND 5070 5068 5070 bash 7169 5070 7169 \_ bash 7173 7169 7169 \_ bash 7179 7

Linux下如何用/proc命令查詢程序狀態資訊——當前目錄,記憶體佔用,描述符等

參加阿里的面試,問到一個問題,如何在Linux下使用命令列查詢程序的狀態資訊,比如程序的當前目錄,程序的記憶體佔用等情況。當時的第一反應是使用top命令能夠得到所有的程序資訊。但是面試官好像不是很滿意,因此我回去之後查閱了相關的資料,發現可能他想問的/proc目錄,我這裡整

Linux中用 pwd 命令檢視”當前工作目錄“的完整路徑。

Linux中用 pwd 命令來檢視”當前工作目錄“的完整路徑。 簡單得說,每當你在終端進行操作時,你都會有一個當前工作目錄。 在不太確定當前位置時,就會使用pwd來判定當前目錄在檔案系統內的確切位置。 1.命令格式: pwd [選項] 2.命令功能: 檢視”當前

監控io效能、free、ps檢視網路狀態linux抓包工具

一、監控io效能 1、iostat -x 磁碟使用 關注最後一列的數值,數值大說明磁碟有異常2、iotop 磁碟使用 安裝:yum install -y iotop 二、free命令 檢視記憶體使用多少,剩餘多少請看第二行的資料。另外我們還可以加-m或-h 或者-g選項分別以M或G為單位列印記憶體使用狀況:常

linux top命令檢視系統狀態

 linux下top命令詳細介紹    top 命令是 Linux 下常用的系統資源佔用檢視及效能分析工具,能夠實時顯示系統中各個程序的資源(比如cpu、記憶體的使用)佔用狀況,top命令的執行結果是一個動態顯示過程,即可以通過使用者按鍵來不斷重新整理當前狀態.如果

linux下如何檢視程序狀態

我們知道所有的程序資訊基本都可以在/proc下面找到,但有的時候檢視有點麻煩。 如果想看程序的基本資訊,ps就可以了,但ps檢視的時間其實是真正cpu執行的時間,而不是程式啟動的時間,如下 [[email protected] conf]# ps -e|grep

linux 用top命令檢視系統健康狀態

這裡,本文詳細介紹用top命令系檢視系統健康狀態。 top命令格式: [[email protected] ~]#top [選項] #選項: -d 秒數: 指定top命令每隔幾秒更新,預設是3秒 #在top命令的互動模式當中可以執

LINUX 筆記-ps命令

常用 -a 命令行 nat ide clas 優先 pro system 使用該命令能確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等 USER PID %CPU %MEM VSZ RSS TTY

Linuxps命令

區分 使用 選項 bsp true sort 進程狀態 顯示 用戶 一、介紹 用於輸出當前系統的進程狀態 二、使用方法 語法:ps(選項) 選項: a:顯示現行終端機下的所有程序,包括其他用戶的程序。 u:以用戶為主的格式來顯示程序狀況。 x:顯示所

linux中用vim命令修改.tar.gz包和.zip包命令的內容

rgb idt linux中 server tar.gz 強制 spa -s webapps 在實際生產環境中將程序打包部署到linux上或者在linux上更新程序時,很多時候都要修改.zip包或者.tar.gz包中的配置文件的內容,如果在本機和linux上進行包程

樹莓派 vcgencmd 命令檢視硬體狀態

vcgencmd commands 顯示 vcgencmd 可接的指令 vcgencmd commands ~ $ vcgencmd commandscommands="vcos, ap_output_control, ap_output_post_processing, vchi_test_in

LinuxPS命令簡介

       要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序, ps命令就是最基本程序檢視命令。使用該命令可以確定有哪些程序正在執行和執行的狀態、程序是否結束、程序有沒有殭屍、哪些程序佔用了過多的資源等等.總之大部分資訊都是可以通