成人免费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-05-18 14:42:55

PythonMySQL

2019-01-24 09:00:00

PythonAutoML機器學習

2021-12-26 18:32:26

Python Heic 文件

2015-03-23 12:33:28

2014-07-22 10:19:19

NeoBundle

2015-04-22 11:29:45

PythonPython創建瀑布圖

2021-02-01 08:41:06

Java考試系統

2021-02-04 15:52:46

Java考試系統

2022-05-25 08:21:15

2018-02-25 11:39:36

Python監督學習算法

2019-09-05 10:07:23

ZAODeepfakes換臉

2023-10-27 11:38:09

PythonWord

2022-05-16 19:44:45

Python

2023-08-03 08:51:07

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产免费一区二区三区演员表 | 亚洲欧美一区二区三区在线 | 日本免费视频 | 免费成人av网站 | 国产精品久久久久久福利一牛影视 | 久亚州在线播放 | 黄色精品视频网站 | 欧美v片| 国产小u女发育末成年 | 日本综合在线观看 | 精品久久久久久 | 在线观看第一区 | 日本免费一区二区三区 | 亚洲不卡一| 日韩中文视频 | 黄a在线观看 | 三级国产三级在线 | 国产精品高潮呻吟久久av野狼 | 日本成年免费网站 | 成人高清在线 | 国内自拍偷拍一区 | 在线观看成年视频 | 91精品麻豆日日躁夜夜躁 | 国产精品一区二区在线 | 一区二区在线视频 | 国产99视频精品免费播放照片 | 国产视频精品视频 | 日韩有码一区 | 亚洲国产精品成人 | 一区二区三区四区在线视频 | 亚洲一区二区三区久久久 | 国产真实精品久久二三区 | 九九伊人sl水蜜桃色推荐 | 久久久久久久av麻豆果冻 | av黄色在线| 欧产日产国产精品视频 | 九九亚洲 | 色综合久 | 日韩综合一区 | 亚洲精品一区二三区不卡 | 国产精品欧美一区二区三区不卡 |