中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中proc目錄的詳細介紹

發布時間:2021-08-02 22:13:00 來源:億速云 閱讀:227 作者:chen 欄目:系統運維

這篇文章主要講解了“Linux中proc目錄的詳細介紹”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Linux中proc目錄的詳細介紹”吧!

1.什么是proc

觀察LINUX F8的/etc/rc.d/sysinit文件可以發現,在該腳本的21行出現如下語句:

代碼如下:


if [ ! -e/proc/mounts ]; then  
   mount -n -t proc /proc /proc  
   mount -n -t sysfs /sys /sys >/dev/null 2>&1  
fi


這斷話的意思是,如果/proc/mounts文件存在,便掛載proc類型的文件系統的proc設備到proc目錄下,掛載sysfs類型的文件系統的sys設備到/sys目錄下。那么,究竟proc文件系統是什么東西呢?

proc文件系統是一個偽文件系統,它只存在內存當中,而不占用外存空間。它以文件系統的方式為訪問系統內核數據的操作提供接口。用戶和應用程序可以通過proc得到系統的信息,并可以改變內核的某些參數。由于系統的信息,如進程,是動態改變的,所以用戶或應用程序讀取proc文件時,proc文件系統是動態從系統內核讀出所需信息并提交的。
 
2. proc的主要目錄和文件

它的主要目錄和文件結構如下:(/proc/)

代碼如下:


apm             # 高級電源管理信息  
bus             # 總線配置信息(USB的配置也記錄在此)  
cmdline         # 內核命令行  
Cpuinfo         # 關于Cpu信息  
Devices         # 可以用到的設備(塊設備/字符設備)  
Dma             # 使用的DMA通道  
Filesystems     # 支持的文件系統  
Interrupts      # 中斷的使用  
Ioports         # I/O端口的使用  
Kcore           # 內核核心印象  
Kmsg            # 內核消息  
Ksyms           # 內核符號表  
Loadavg         # 負載均衡  
Locks           # 內核鎖  
Meminfo         # 內存信息  
Misc            # 雜項  
Modules         # 加載模塊列表(可以想成是驅動程序)  
Mounts          # 加載的文件系統  
Partitions      # 系統識別的分區表  
PCI             # 在PCI總線上,每臺設備的詳細情況(可以使用lspci來查看)  
Rtc             # 實時時鐘  
Slabinfo Slab   # 池信息  
Stat            # 全面統計狀態表  
Swaps           # 對換空間的利用情況  
Version         # 內核版本  
Uptime          # 系統正常運行時間  

除了以上的目錄外,主機上正在運行的各進程的PID號也以目錄名的形式存在于/proc目錄下。其中cmdline文件和environ文件值得一提,前者表示啟動這個進程的命令串;后者是這個進程的環境變量的內容。它們均可以使用cat命令進行查看。

如圖1所示,2088號進程是由startx命令產生的,即當前的Xwindows模式。

Linux中proc目錄的詳細介紹
圖1

3. proc目錄下的cmdline是什么
在/etc/rc.d/sysinit腳本的306行出現了如下代碼:

代碼如下:


    cmdline=$(cat /proc/cmdline)


意思是把/proc/cmdline的內容賦予cmdline變量。而前面說過/proc/cmdline的內容指的是內核命令行。我們先不去糾纏什么是內核命令行,來看看它的內容。如圖2所示。

Linux中proc目錄的詳細介紹


圖2

可以發現,它的內容是一段一段離散的字段。很顯然這些字符是由內核產生的,它們表示了系統運行環境的一些基本信息,它們在系統完全啟動之前就已經確定。這些字段就像標志位一樣,因此后續的啟動,就可以根據這些“標志位”來進行相關的啟動操作。

那么它是由誰產生的呢?粗糙的講,可以說是由grub生成的。Grub(Grand Unified Bootloader)引導加載程序,它是計算機讀取完BIOS信息后,從第一個啟動設備的MBR中被讀取的內容。沒有它,核心根本就不能被加載到系統上。Grub的功能有很多,我們暫時不需要深入的了解。其中的kernel語句,告訴了磁盤的MBR到什么地方去讀取系統內核以及輔助系統啟動的initrd(InitalRAM Disk)印象文件在什么地方。同時可以加入一些啟動參數,如是否打開RHGB,是否強制掃描...而這些字段,都通通的反映在了內核虛擬文件系統/proc里面的cmdline里面。

因此,當我們需要在系統啟動的時候判斷某些服務是否被激活時,當然要看看/proc/cmdline里面的內容啦。

感謝各位的閱讀,以上就是“Linux中proc目錄的詳細介紹”的內容了,經過本文的學習后,相信大家對Linux中proc目錄的詳細介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

报价| 陕西省| 普格县| 来宾市| 清水县| 淮南市| 庐江县| 瑞丽市| 上栗县| 区。| 昌乐县| 临夏县| 辽宁省| 思茅市| 克拉玛依市| 秦安县| 小金县| 固原市| 沐川县| 阳西县| 武义县| 赞皇县| 腾冲县| 南充市| 广德县| 高邮市| 新余市| 屏东县| 溧阳市| 屏山县| 濮阳县| 乡宁县| 玉林市| 建瓯市| 沛县| 阿图什市| 余江县| 昌平区| 故城县| 大安市| 石屏县|