成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

簡單案例教你用PROC文件系統獲取進程信息

原創
系統 Linux
PROC文件系統是一個虛擬的文件系統。本文將通過一個簡單易懂的例子說明如何使用Linux下的PROC文件系統來獲得進程的信息。通過PROC文件系統獲取的信息主要是進程使用的虛擬內存、以及實際內存、信號機制方面的信息,和Linux下的其他監控工具搭配,能夠對系統運行的情況有一個全面的掌握。

【51CTO獨家特稿】本文將通過一個簡單易懂的例子說明如何使用Linux下的PROC文件系統來獲得進程的信息。通過PROC文件系統獲取的信息主要是進程使用的虛擬內存、以及實際內存、信號機制方面的信息,和Linux下的其他監控工具搭配,能夠對系統運行的情況有一個全面的掌握。首先提供一段PROC文件系統的簡單介紹:

PROC文件系統是一個虛擬的文件系統,通過文件系統的接口實現,用于輸出系統的運行狀態。它以文件系統的形式,為操作系統本身和應用進程之間的通信提供了一個界面,使應用程序能夠安全、方便地獲得系統當前的運行狀況和內核的內部數據信息,并可以修改某些系統的配置信息。另外,由于PROC以文件系統的接口實現,因此用戶可以像訪問普通文件一樣對其進行訪問,但它只存在于內存之中,并不存在于真正的物理磁盤當中。所以,當系統重啟和電源關閉的時候,該系統中的數據和信息將全部消失。

表1說明了該文件系統中一些重要的文件和目錄。

表1 重要的PROC文件系統文件和目錄

文件或目錄 說    明
/proc/1 關于進程1的信息目錄。每個進程在/proc下有一個名為其進程號的目錄
/proc/cpuinfo 處理器信息,如類型、制造商、型號和性能
/proc/devices 當前運行的核心配置的設備驅動的列表
/proc/dma 顯示當前使用的DMA通道
/proc/filesystems 核心配置的文件系統
/proc/interrupts 顯示使用的中斷
/proc/ioports 當前使用的I/O端口
/proc/kcore 系統物理內存映像
/proc/kmsg 核心輸出的消息,也被送到syslog
/proc/ksyms 核心符號表
/proc/loadavg 系統的平均負載
/proc/meminfo 存儲器使用信息,包括物理內存和swap
/proc/modules 當前加載了哪些核心模塊
/proc/net 網絡協議狀態信息
/proc/stat 系統的不同狀態
/proc/version 核心版本
/proc/uptime 系統啟動的時間長度

值得注意的是:所有上述文件給出易讀的文本文件,有時可能是不易讀的格式。有許多命令做了些格式化以更容易讀。例如,free程序讀/proc/meminfo并將給出的字節數轉換為千字節(并增加了一些信息)。


下面將通過例子來說明如何使用PROC文件系統來獲得進程的信息。

首先使用vi編輯器建立一個c源程序文件,編譯后形成目標文件,該文件的主要功能是進行計算,將其保存在/root目錄下,下面將其運行:

#cd /root                       //切換目錄
#./calculate                    //運行該程序,則生成了以該程序為名稱的進程

使用ps命令,則能發現在系統中運行了calculate這樣一個進程:

#ps
root      2108 61.2 0.1 1344 224 pts/0    R    21:20   0:11 ./calculate
……

進程的基本信息都會存放在/proc文件系統中,具體位置是在/proc目錄下。通過使用如下命令可以查看系統中運行進程的相關信息:

# ls /proc                      //查看/proc目錄下的內容
//如下顯示為系統中運行進程的信息所存放的目錄,每個進程對應一個目錄,加藍的2108為本例使用的進程的詳細信息所在目錄
1     1790 1922 2049 2083 8            fs          meminfo     swaps
10    1799 1923 2056 2108 9            ide         misc        sys
11    1809 1924 2063 2111 apm          interrupts modules     sysvipc
1491 1818 1925 2065 2138 bus          iomem       mounts      tty
1550 1829 1968 2067 2162 cmdline      ioports     mtrr        uptime
1554 1893 1969 2069 2163 cpuinfo      irq         net         version
1572 19    1978 2071 3     devices      kcore       partitions
1591 1902 2     2073 4     dma          kmsg        pci
1670 1911 2032 2074 5     driver       ksyms       scsi
1720 1919 2043 2079 6     execdomains loadavg     self
1757 1920 2045 2081 7     fb           locks       slabinfo
1771 1921 2047 2082 77    filesystems mdstat      stat
#cd 2108                        //切換到2108目錄,以方便詳細的查看進程信息
#ls                             //列出進程詳細的狀態信息文件
cmdline cwd environ exe fd maps mem mounts root stat statm status

在這些文件當中,status這個狀態文件是比較重要的,包含了很多關于進程的有用的信息,用戶可以從這個文件獲得信息,如下為列出該文件內容的操作:

#cat status                     //使用cat命令列出status文件內容
Name:   calculate               //進程名
State: R (running)             //進程運行狀態
Tgid:   2108                    //進程組ID
Pid:    2108                     //進程ID
PPid:   2083                    //父進程ID
TracerPid:      0                //跟蹤調試進程ID
Uid:    0       0       0       0   //進程所對應程序的UID
Gid:    0       0       0       0   //進程所對應程序的GID
FDSize: 256                     //進程使用文件句柄大小
Groups: 0 1 2 3 4 10 10         //組信息
//進程所使用的虛擬內存以及實際內存、信號機制方面的信息
VmSize:     1344 kB
VmLck:         0 kB
VmRSS:       224 kB
VmData:       12 kB
VmStk:        16 kB
VmExe:         4 kB
VmLib:      1292 kB
SigPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 8000000000000000
SigCgt: 0000000000000000
CapInh: 0000000000000000
CapPrm: 00000000fffffeff
CapEff: 00000000fffffeff

這樣,我們就可以知道進程使用的虛擬內存、以及實際內存、信號機制方面的信息了。

【編輯推薦】

  1. 專題:明明白白你的Linux服務器
  2. 國外十大流行的服務器監控工具(外篇)
  3. 如何監控Linux文件系統事件:inotify使用指南
責任編輯:yangsai 來源: 51CTO.com
相關推薦

2009-12-18 15:54:44

Fedora proc

2021-06-23 07:16:06

buildroot Linux內核根文件系統

2010-03-11 17:25:17

Linux系統使用率proc文件系統

2009-12-18 16:18:15

Fedora proc

2017-03-30 10:13:11

Linux內核文件系統

2009-12-22 11:30:38

Linux操作系統

2021-12-26 18:32:26

Python Heic 文件

2021-05-18 14:42:55

PythonMySQL

2019-01-24 09:00:00

PythonAutoML機器學習

2015-03-23 12:33:28

2021-02-01 08:41:06

Java考試系統

2021-02-04 15:52:46

Java考試系統

2014-07-22 10:19:19

NeoBundle

2015-04-22 11:29:45

PythonPython創建瀑布圖

2018-02-25 11:39:36

Python監督學習算法

2022-05-25 08:21:15

2022-05-16 19:44:45

Python

2023-10-27 11:38:09

PythonWord

2019-09-05 10:07:23

ZAODeepfakes換臉

2023-08-03 08:51:07

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久国产精品 | 国产日韩视频 | 欧美一级免费 | 日韩国产专区 | 亚洲日本一区二区 | 国产91精品久久久久久久网曝门 | 欧美久久久网站 | 精品在线免费观看视频 | 亚洲伊人精品酒店 | 久久青青 | 精品综合在线 | 亚洲欧美在线观看视频 | 三级av免费 | 男人影音 | 日韩一区二区三区视频 | 日韩av免费看 | 国产精品视频一二三区 | 99亚洲精品| 99re在线视频免费观看 | 欧美激情视频一区二区三区免费 | 午夜免费 | 亚洲精品www久久久 www.蜜桃av | 伊人久久精品一区二区三区 | 中文字幕 欧美 日韩 | 久久久久一区 | 成人精品 | 久久成人国产 | 欧美日韩一二三区 | 男女羞羞免费视频 | 日韩中文字幕一区二区 | 91高清视频在线观看 | 国产成人jvid在线播放 | 成人精品国产免费网站 | 91视频在线看 | 九九成人 | 久久久久久久av | 视频一区在线观看 | 国产成人免费视频网站高清观看视频 | 国产黑丝av | 天天玩天天操天天干 | 欧美亚洲高清 |