Linux系統下的/proc/檔案系統

來源:互聯網
上載者:User
Proc 檔案系統是一個即時的,常駐記憶體的檔案系統,它跟蹤進程在你機器上的運行情況和你系統的狀態。/proc檔案系統是常駐虛擬記憶體並且維持著作業系統的動態資料。大部分的 /proc檔案系統資訊被即時更新來與當前作業系統的狀態一致。/proc檔案系統的內容能被任何有相應許可權的人讀取。但是,/proc檔案系統的特定的 部分只能被這個進程的擁有者和root使用者讀取。/proc檔案系統的內容從特定的/proc目錄得到資料並且顯示出來,它們有很多用途。
下面是一個PROC檔案系統的例子,可以看出proc檔案系統裡面有很多數字,其它的資訊相對容易理解,這裡不作介紹,本文主要深入分析proc目錄下的數字資訊。#cd proc#ls
1    4   9          diskstats    iomem    meminfo     self      uptime
10   5   97         driver       ioports  misc        slabinfo  version
114  6   buddyinfo  execdomains  irq      mounts      stat      vmstat
126  7   bus        filesystems  kcore    mtd         swaps     zoneinfo
128  8   cmdline    fs           kmsg     net         sys
2    85  cpuinfo    ide          loadavg  partitions  sysvipc
3    88  devices    interrupts   locks    pci         tty
你看到的上面列出的那些數字目錄代表進程,這些進程在我們對/proc檔案系統作快照時正運行在機器上。我們隨便看一個進程目錄的內容:
# ll 126
total 0
-r--r--r--    1 root     root            0 Jan  1 00:08 cmdline
lrwxrwxrwx    1 root     root            0 Jan  1 00:09 cwd -> /proc
-r--------    1 root     root            0 Jan  1 00:09 environ
lrwxrwxrwx    1 root     root            0 Jan  1 00:09 exe -> /bin/bash
dr-x------    2 root     root            0 Jan  1 00:00 fd
-r--r--r--    1 root     root            0 Jan  1 00:09 maps
-rw-------    1 root     root            0 Jan  1 00:09 mem
-r--r--r--    1 root     root            0 Jan  1 00:00 mounts
-rw-r--r--    1 root     root            0 Jan  1 00:09 oom_adj
-r--r--r--    1 root     root            0 Jan  1 00:09 oom_score
lrwxrwxrwx    1 root     root            0 Jan  1 00:09 root -> /
-r--r--r--    1 root     root            0 Jan  1 00:09 smaps
-r--r--r--    1 root     root            0 Jan  1 00:08 stat
-r--r--r--    1 root     root            0 Jan  1 00:09 statm
-r--r--r--    1 root     root            0 Jan  1 00:08 status
dr-xr-xr-x    3 root     root            0 Jan  1 00:09 task

看上面輸出的第一行。

-r--r--r--    1 root     root            0 Jan  1 00:08 cmdline

"cmdline",這個檔案包含整個用來產生進程的命令列。這個檔案的內容是命令列參數包括傳遞來啟動進程的所有參數。所有包含在這個檔案的資訊即命令和各個啟動參數,沒有任何的格式和任何的空格。

lrwxrwxrwx    1 root     root            0 Jan  1 00:09 cwd -> /proc

"cwd",像我們從上面看見的,這是一個符號連結,它指向進程的當前工作目錄。

-r--------    1 root     root            0 Jan  1 00:09 environ

"environ"包括在VARIABL=value為這個進程定義的所有的環境變數。正如"cmdline"一樣,包含在檔案中的命令和各個參數的資訊沒有任何的格式和空格。

lrwxrwxrwx    1 root     root            0 Jan  1 00:09 exe -> /bin/ver

"exe",這是一個符號連結指向啟動當前進程的可執行檔。

dr-x------    2 root     root            0 Jan  1 00:00 fd

"fd",這個目錄包括被指定進程開啟的檔案描述符,如果一個進程開啟的檔案描述符過多,會造成開啟檔案失敗,通過檢查這個目錄可以尋找開啟檔案失敗的原因。

-r--r--r--    1 root     root            0 Jan  1 00:09 maps

"maps", 當你打出這個具名管道的內容,你可以看到進程的地址空間部分,當前被映射到一個檔案。這個部分,從左至右是:和這個映射有關的地址空間,和這個映射有關的 許可權,距離檔案開始(即這個映射開始的地方)的位移量,這個對應檔所在的裝置,檔案的inode號,最後是檔案名稱本身。

"root",這是一個符號連結指向這個進程的/proc目錄。

-r--r--r--    1 root     root            0 Jan  1 00:08 status

"status",這個檔案給你有關進程名的資訊,它的當前的狀態,睡眠或者清醒,它的PID,UID,PPID和大量其它基本資料。這個資訊可以在一個更簡單和結構化的文法中看到,通過使用工具如"ps"和"top"。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.