當前位置:編程學習大全網 - 編程語言 - linux取進程狀態編程linux取進程pid

linux取進程狀態編程linux取進程pid

linux系統中如何查看進程號?

linux系統中查看進程號的方法如下

1、ps命令查找與進程相關的PID號:

2、psa顯示現行終端機下的所有程序,包括其他用戶的程序。

3、ps-A顯示所有程序。

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

5、ps-e此參數的效果和指定A參數相同。

6、pse列出程序時,顯示每個程序所使用的環境變量。

7、psf用ASCII字符顯示樹狀結構,表達程序間的相互關系。

8、ps-H顯示樹狀結構,表示程序間的相互關系。

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

10、pss采用程序信號的格式顯示程序狀況。

11、psS列出程序時,包括已中斷的子程序資料。

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

linux查詢pid進程詳細信息?

終端輸入ps-ef|greppid就能列出該進程的詳細信息

linux哪個內置變量表示當前進程PID?

Linux中內置變量$表示當前shell的進程ID,也就是當前進程的PID。

使用pidstat查看進程資源使用情況?

pidstat主要用於監控全部或指定進程占用系統資源的情況,如CPU,內存、設備IO、任務切換、線程等。pidstat首次運行時顯示自系統啟動開始的各項統計信息,之後運行pidstat將顯示自上次運行該命令以後的統計信息。用戶可以通過指定統計的次數和時間來獲得所需的統計信息。

實例講解

默認參數

執行pidstat,將輸出系統啟動後所有活動進程的cpu統計信息:

linux:~#pidstat

Linux2.6.32.12-0.7-default(linux)06/18/12_x86_64_

11:37:19PID%usr%system%guest%CPUCPUCommand

11:37:19114520.000.000.000.002bash11:37:19115090.000.000.000.003dd

以上輸出,除最開頭壹行顯示內核版本、主機名、日期和cpu架構外,主要列含義如下:

·11:37:19:pidstat獲取信息時間點

·PID:進程pid

·%usr:進程在用戶態運行所占cpu時間比率

·%system:進程在內核態運行所占cpu時間比率

·%CPU:進程運行所占cpu時間比率

·CPU:指示進程在哪個核運行

·Command:拉起進程對應的命令

指定采樣周期和采樣次數

pidstat命令指定采樣周期和采樣次數,命令形式為”pidstatinterval”,以下pidstat輸出以2秒為采樣周期,輸出10次cpu使用統計信息:

pidstat210

cpu使用情況統計(-u)

使用-u選項,pidstat將顯示各活動進程的cpu使用統計,執行”pidstat-u”與單獨執行”pidstat”的效果壹樣。

內存使用情況統計(-r)

使用-r選項,pidstat將顯示各活動進程的內存使用統計:

linux:~#pidstat-r-p130841

Linux2.6.32.12-0.7-default(linux)06/18/12_x86_64_

15:08:18PIDminflt/smajflt/sVSZRSS%MEMCommand15:08:1913084133835.000.00157202841571689696.26mmmm15:08:201308435807.000.00158635041584975697.07mmmm15:08:211308419273.870.00159490401579294496.72mmmm

以上各列輸出的含義如下:

minflt/s:每秒次缺頁錯誤次數(minorpagefaults),次缺頁錯誤次數意即虛擬內存地址映射成物理內存地址產生的pagefault次數

majflt/s:每秒主缺頁錯誤次數(majorpagefaults),當虛擬內存地址映射成物理內存地址時,相應的page在swap中,這樣的pagefault為majorpagefault,壹般在內存使用緊張時產生

VSZ:該進程使用的虛擬內存(以kB為單位)

RSS:該進程使用的物理內存(以kB為單位)%MEM:該進程使用內存的百分比

Command:拉起進程對應的命令

IO情況統計(-d)

使用-d選項,我們可以查看進程IO的統計信息:

linux:~#pidstat-d12

Linux2.6.32.12-0.7-default(linux)06/18/12_x86_64_

17:11:36PIDkB_rd/skB_wr/skB_ccwr/sCommand17:11:3714579124988.240.000.00dd

17:11:37PIDkB_rd/skB_wr/skB_ccwr/sCommand17:11:3814579105441.580.000.00dd

輸出信息含義

kB_rd/s:每秒進程從磁盤讀取的數據量(以kB為單位)

kB_wr/s:每秒進程向磁盤寫的數據量(以kB為單位)

Command:拉起進程對應的命令

針對特定進程統計(-p)

使用-p選項,我們可以查看特定進程的系統資源使用情況:

linux:~#pidstat-r-p11

Linux2.6.32.12-0.7-default(linux)06/18/12_x86_64_

18:26:17PIDminflt/smajflt/sVSZRSS%MEMCommand18:26:1810.000.00103806400.00init18:26:1910.000.00103806400.00init

pidstat常用命令

使用pidstat進行問題定位時,以下命令常被用到:

pidstat-u1

pidstat-r1

pidstat-d1

以上命令以1秒為信息采集周期,分別獲取cpu、內存和磁盤IO的統計信息。

linux中如何殺掉鎖死的進程?

首先使用ps-ef命令確定要殺死進程的PID,然後輸入以下命令:#kill-pid註釋:標準的kill命令通常都能達到目的。

終止有問題的進程,並把進程的資源釋放給系統。然而,如果進程啟動了子進程,只殺死父進程,子進程仍在運行,因此仍消耗資源。為了防止這些所謂的“僵屍進程”,應確保在殺死父進程之前,先殺死其所有的子進程。*確定要殺死進程的PID或PPID#ps-ef|grephttpd結束進程#kill-lPID-l選項告訴kill命令用好像啟動進程的用戶已註銷的方式結束進程。當使用該選項時,kill命令也試圖殺死所留下的子進程。但這個命令也不是總能成功--或許仍然需要先手工殺死子進程,然後再殺死父進程。給父進程發送壹個TERM信號,試圖殺死它和它的子進程。#kill-TERMPPID*killall命令killall命令殺死同壹進程組內的所有進程。其允許指定要終止的進程的名稱,而非PID。#killallhttpd*停止和重啟進程有時候只想簡單的停止和重啟進程。如下:該命令讓Linux和緩的執行進程關閉,然後立即重啟。在配置應用程序的時候,這個命令很方便,在對配置文件修改後需要重啟進程時就可以執行此命令。

  • 上一篇:計算機編程語言的語言分類
  • 下一篇:Cocos Creator 實現畫板和橡皮擦(有背景)
  • copyright 2024編程學習大全網