1. 程式人生 > >inux檢視程序的所有子程序和執行緒

inux檢視程序的所有子程序和執行緒

得到程序的pid:
ps -ef | grep process_name | grep -v "grep" | awk '{print $2}'

檢視程序的所有執行緒
# ps mp 6648 -o THREAD,tid
USER %CPU PRI SCNT WCHAN USER SYSTEM TID
root 0.0 - - - - - -
root 0.0 24 - - - - 6648
root 0.0 21 - - - - 6650
root 1.0 24 - - - - 14214
root 0.0 23 - futex_ - - 14216
root 0.0 22 - 184466 - - 15374
root 0.0 23 - 184466 - - 15376
root 0.0 23 - 184466 - - 15378
root 0.0 23 - 184466 - - 15380
root 0.0 23 - 184466 - - 15392
root 0.0 23 - 184466 - - 15394
root 0.0 23 - 184466 - - 15398

檢視所有子程序:
# pstree -p 6648
agent_executor(6648)─┬─tar(15601)───gzip(15607)
├─{agent_executor}(6650)
├─{agent_executor}(14214)
├─{agent_executor}(14216)
├─{agent_executor}(15374)
├─{agent_executor}(15376)
├─{agent_executor}(15378)
├─{agent_executor}(15380)
├─{agent_executor}(15392)
├─{agent_executor}(15394)
└─{agent_executor}(15398)

檢視/proc/pid/status可以看到一些程序的當前狀態:

Name: bash
State: S (sleeping)
SleepAVG: 98%
Tgid: 11237
Pid: 11237
PPid: 11235
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 256
Groups: 0 1 2 3 4 6 10 
VmPeak: 66260 kB
VmSize: 66228 kB
VmLck: 0 kB
VmHWM: 1684 kB
VmRSS: 1684 kB
VmData: 456 kB
VmStk: 88 kB
VmExe: 712 kB
VmLib: 1508 kB
VmPTE: 68 kB
StaBrk: 008c3000 kB
Brk: 011b1000 kB
StaStk: 7fff8b728170 kB
Threads: 1
SigQ: 1/30222
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000010000
SigIgn: 0000000000384004
SigCgt: 000000004b813efb
CapInh: 0000000000000000
CapPrm: 00000000fffffeff
CapEff: 00000000fffffeff
Cpus_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000003
Mems_allowed: 1

FROM: http://blog.csdn.net/educast/article/details/9418103

相關推薦

linux檢視程序所有程序執行

linux檢視程序所有子程序和執行緒 原文連線:https://blog.csdn.net/uestczshen/article/details/74091892    問題: 我的程式在其內部建立並執行了多個執行緒,我怎樣才能在該程式建立執行緒後監控其中單個執行緒?

淺談程序(process)執行(thread)

計算機的核心是CPU,它承擔了所有的計算任務。它就像一座工廠,時刻在執行。假定工廠的電力有限,一次只能供給一個車間使用。也就是說,一個車間開工的時候,其他車間都必須停工。即單個CPU一次只能執行一個任務。 程序就好比工廠的車間,它代表CPU所能處理的單個任務。任一時刻,CPU總是執行一個程

程序(process)執行(thread)圖文並茂很形象的講解【轉】

轉自 http://blog.jobbole.com/38696/ 程序(process)和執行緒(thread)是作業系統的基本概念,但是它們比較抽象,不容易掌握。 最近,我讀到一篇材料,發現有一個很好的類比,可以把它們解釋地清晰易懂。 1. 計算機的核心

inux檢視程序所有程序執行

得到程序的pid:ps -ef | grep process_name | grep -v "grep" | awk '{print $2}' 檢視程序的所有執行緒 # ps mp 6648 -o THREAD,tid USER %CPU PRI SCNT WCHAN U

【linux命令實戰】Linux檢視程序所有程序執行

得到程序的pid: ps -ef | grep process_name | grep -v “grep” | awk ‘{print $2}’ 檢視程序的所有執行緒 ps mp 6648 -o THREAD,tid USER %CPU PRI SC

背水一戰 Windows 10 (122) - 其它: 通過 Windows.System.Profile 命名空間下的類獲取信息, 查找指定類或接口的所在程序集的所有接口

enter 轉換 local frame long windows 添加 roo schema [源碼下載] 背水一戰 Windows 10 (122) - 其它: 通過 Windows.System.Profile 命名空間下的類獲取信息, 查找指定類或接口的所在程序集

linux下程序執行狀態檢視

檢查 使用 ps -fe |grep programname 檢視獲得程序的pid,再使用 ps -Lf pid 檢視對應程序下的執行緒數. 查詢資料發現可以通過設定 ulimit -s 來增加每程序執行緒數。 每程序可用執行緒數 = VIRT上限/stack size

Linux 檢視程序以及程序/執行

1、 檢視程序資訊 # ps  -ef | grep 114 root       114     2  0 Jun23 ?        00:00:00 [kswapd1] 2、檢視程序的子程序/執行緒 # pstree -p 5346 或者# ps m

程序程序程序執行

子程序繼承的來自父程序的屬性: ●已開啟的檔案描述符 ●實際使用者ID、實際組ID、有效使用者ID、有效組ID ●附屬組ID ●程序組ID ●會話ID ●控制終端 ●設定使用者ID標誌

程序執行——Python中的實現

一、程序(Process)     程序是一個實體。每一個程序都有它自己的地址空間,一般情況下,包括文字區域(text region)、資料區域(data region)和堆疊(stack region)。文字區域儲存處理器執行的程式碼;資料區域儲存變數和程序執行期間使用的動

python 學習第二十二天(程序執行

程序 程序就是一個程式在一個數據集上的一次動態執行過程。 程序一般由程式、資料集、程序控制塊三部分組成。 我們編寫的程式用來描述程序要完成哪些功能以及如何完成; 資料集則是程式在執行過程中所需要使用的資源; 程序控制塊用來記錄程序的外部特徵,描述程序的執行變化過程,系統可以利

CPU的核、程序執行

轉自https://www.cnblogs.com/-new/p/7234332.html   一、CPU與核心 物理核 物理核數量=cpu數(機子上裝的cpu的數量)*每個cpu的核心數 虛擬核 所謂的4核8執行緒,4核指的是物理核心。通過超執行緒技術,用一個物理核模擬

程序執行的區別?什麼時候用程序?什麼時候用執行?----看到好的複製到自己的園子裡哈哈 程序執行的區別?什麼時候用程序?什麼時候用執行

程序和執行緒的區別?什麼時候用程序?什麼時候用執行緒?   答:首先得知道什麼是程序什麼是執行緒? 我的理解是程序是指在系統中正在執行的一個應用程式;程式一旦執行就是程序,或者更專業化來說:程序是指程式執行時的一個例項。 執行緒是程序的一個實體。 程序——資

程序執行及Linux下的程式設計

程序和執行緒及Linux下的程式設計 一、概述 程序和執行緒網路上有一堆解釋,我不喜歡抄襲,也不喜歡套用太教科書的說法。就以我自己的理解來說說程序和執行緒吧,當然自己的理解肯定不是很嚴謹,但是理解起來應該會比教科書快一點。程序和執行緒都可以認為是併發執行程式,但是隻有多處理器下的多執行緒

程序程序執行順序

from multiprocessing import Process import time def task(name): print("%s start" % name) time.sleep(3) print("%s stop" % name) if __name_

程序執行概念

1、程序 (1)一次程式的執行; (2)系統進行資源分配和排程的獨立單位; 例如:windows資源管理器裡面的.exe 2、執行緒 (1)程序中獨立執行的子任務 3、區別 (1)程序可以包含多個執行緒; 例如QQ.exe包含資料傳輸執行緒、下載執行緒等 4、多執行緒的

LoadRunner中程序執行執行執行區別

LoadRunner中程序執行和執行緒執行區別 LoadRunner中的程序與執行緒    1、程序與執行緒的區別:     程序和執行緒的區別是什麼? 程序和執行緒都是由作業系統所體會的程式執行的基本單元,系統利用該基本單元實現

程序ipc執行ipc

每個程序有自己的地址空間。兩個程序中的地址即使值相同,實際指向的位置也不同。程序間通訊一般通過作業系統的公共區進行。 同一程序中的執行緒因屬同一地址空間,可直接通訊。 不僅是系統內部獨立執行的實體,而且是獨立競爭資源的實體。 執行緒也被稱為輕權程序,同一程序的執行緒共享全域性變數和記憶體,使得執行緒

理解作業系統之程序執行

在作業系統中,設定了程序和執行緒的概念去描述程式併發執行邏輯。本文屬於研究程序和執行緒的入門級文章。 主要從以下五個方面介紹程序以及執行緒的相關概念。 程序和執行緒的定義 作業系統中對程序和執行緒的描述 程序的多層排程 程序/執行緒之間的同步機制 程序/執行緒之間的通訊機制 如何避

現代作業系統:程序執行總結

多程序 程序是資源(CPU、記憶體等)分配的基本單位,它是程式執行時的一個例項。程式執行時系統就會建立一個程序,併為它分配資源,然後把該程序放入程序就緒佇列,程序排程器選中它的時候就會為它分配CPU時間,程式開始真正執行。 Linux系統函式fork()可以在父程序中建立一個子程序,