亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 873 | 回復(fù): 0
打印 上一主題 下一主題

/proc 目錄 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-04-18 09:45 |只看該作者 |倒序瀏覽

/proc 在 Linux 中是一個比較奇妙的目錄,保存了當(dāng)前系統(tǒng)所有的詳細(xì)信息,包括進(jìn)程、文件系統(tǒng)、硬件…… 而且還可以通過 /proc 來即時修改系統(tǒng)中的某些參數(shù)。
你可能會認(rèn)為,“文件”指的就是硬盤上保存的數(shù)據(jù),要么是文本,要么就是二進(jìn)制文件。而在 Linux 的世界中,所有的東西都可以通過文件來表示和管理,哪怕是硬件設(shè)備,也可以通過 /dev 下的設(shè)備文件來操作硬件設(shè)備。
/proc 就是這樣一種文件,它并不存在于硬盤上,每當(dāng)系統(tǒng)啟動的時候,操作系統(tǒng)自動創(chuàng)建 /proc
下的內(nèi)容,你可以查看這些文件的列表,但是你會發(fā)現(xiàn)大部分文件的大小都是 0 ,這并不奇怪,因為這些文件屬于“virtual
files“,也就是說,當(dāng)你讀取這些文件的時候,系統(tǒng)內(nèi)核為你即時生成文件中的內(nèi)容。
/proc 下的信息包括了有關(guān)硬件、進(jìn)程、系統(tǒng)的詳細(xì)信息,先看看 /proc 下大致都有啥吧:
localhost ~ # ls /proc
1      143    19218  28326  28357  28406  5630  5784  5807  79   924        diskstats    interrupts  locks    pagetypeinfo  timer_list
1013   144    19223  28327  28377  28407  5713  5785  5808  814  asound     dma          iomem       meminfo  partitions    tty
11079  18990  2      28329  28382  28796  5714  5786  5809  816  buddyinfo  driver       ioports     misc     self          uptime
11086  19060  25659  28332  28385  3      5718  5787  5861  85   bus        execdomains  irq         modules  slabinfo      version
11108  19068  28300  28334  28397  3454   5750  5798  71    88   cmdline    fb           kallsyms    mounts   stat          vmstat
139    19070  28316  28338  28400  4      5781  5800  737   882  config.gz  filesystems  kcore       mtd      swaps         zoneinfo
141    19174  28317  28342  28403  5      5782  5805  74    883  cpuinfo    fs           kmsg        mtrr     sys
142    19178  28322  28347  28404  5059   5783  5806  78    893  devices    ide          loadavg     net      sysvipc
可以看到,除了一些文件之外,更多的是一堆以數(shù)字為名稱的目錄,每個目錄代表了系統(tǒng)中的一個進(jìn)程,目錄下是有關(guān)這個進(jìn)程的詳細(xì)信息,這個等下我們再說。 /proc 下還有一個 self 文件,實際上是一個連接,指向了當(dāng)前運行中的進(jìn)程目錄。
首先我們看看 /proc 目錄下一些非常有用的文件,查看這些文件的內(nèi)容很簡單,用 cat 命令就可以了~
/proc/cpuinfo
localhost ~ # cat /proc/cpuinfo
processor    : 0
vendor_id    : GenuineIntel
cpu family    : 15
model        : 2
model name    : Intel(R) Pentium(R) 4 CPU 2.40GHz
stepping    : 7
cpu MHz        : 2394.017
cache size    : 512 KB
fdiv_bug    : no
hlt_bug        : no
f00f_bug    : no
coma_bug    : no
fpu        : yes
fpu_exception    : yes
cpuid level    : 2
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pebs bts
sync_rdtsc cid xtpr
bogomips    : 4792.93
clflush size    : 64
/proc/cpuinfo 即是當(dāng)前系統(tǒng) cpu 的詳細(xì)信息,從型號到支持的特性,如果你是多核 cpu 的話,會看到多個這樣的輸出。檢測 cpu 的程序,也是通過 /proc/cpuinfo 來得到當(dāng)前 cpu 的詳細(xì)信息的。
/proc/meminfo
localhost ~ # cat /proc/meminfo
MemTotal:       514624 kB
MemFree:         10144 kB
Buffers:         20248 kB
Cached:         156248 kB
SwapCached:         60 kB
Active:         387864 kB
Inactive:        79612 kB
SwapTotal:     1052216 kB
SwapFree:      1051740 kB
Dirty:               8 kB
Writeback:           0 kB
AnonPages:      290940 kB
Mapped:          66216 kB
Slab:            25404 kB
SReclaimable:    16872 kB
SUnreclaim:       8532 kB
PageTables:       2152 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   1309528 kB
Committed_AS:   801488 kB
VmallocTotal:   515808 kB
VmallocUsed:     48176 kB
VmallocChunk:   463580 kB
/proc/meminfo 是當(dāng)前系統(tǒng)內(nèi)存的詳細(xì)信息,當(dāng)然,隨著系統(tǒng)的運行,這些信息也會隨時變化。像 top、free 這些可以查看當(dāng)前系統(tǒng)內(nèi)存信息的程序,就是通過讀取 /proc/meminfo 來實現(xiàn)的。
/proc/version
localhost ~ # cat /proc/version
Linux version 2.6.24-gentoo-r2 (root@localhost) (gcc version 4.2.2 (Gentoo 4.2.2 p1.0)) #1 Wed Feb 13 22:18:22 UTC 2008
/proc/version 是當(dāng)前系統(tǒng)的版本信息,uname 這個命令,就是通過它來得到內(nèi)核版本和系統(tǒng)版本的。
/proc/filesystems
localhost ~ # cat /proc/filesystems
nodev    sysfs
nodev    rootfs
nodev    bdev
nodev    proc
nodev    sockfs
nodev    usbfs
nodev    pipefs
nodev    anon_inodefs
nodev    futexfs
nodev    tmpfs
nodev    inotifyfs
nodev    devpts
    reiserfs
    ext3
    ext2
nodev    ramfs
    msdos
    vfat
    iso9660
nodev    cifs
    ntfs
    udf
/proc/filesystems 為當(dāng)前系統(tǒng)支持的文件系統(tǒng)列表,你可以在程序中讀取這個文件,以獲得當(dāng)前系統(tǒng)對文件系統(tǒng)的支持信息。
上面這幾個只是比較常用的,實際上 /proc 下的信息相當(dāng)豐富,很多文件都可以 cat 一下看看,比如:
    * /proc/apm: APM 高級電源管理信息。
    * /proc/acpi: 目錄下為 ACPI 的詳細(xì)信息。 比方說, 你想知道你的筆記本電腦是否連接了電源, 你可以 cat
/proc/acpi/ac_adapter/AC/state 看看結(jié)果是 "on line" 還是 "off line" 。
    * /proc/cmdline: 顯示內(nèi)核的啟動參數(shù),一般就是你 grub 中傳入內(nèi)核的那些參數(shù),比如我的就是: root=/dev/sda9 video=uvesafb:1680x1050-32,mtrr:3,ywrap
    * /proc/loadav: 顯示系統(tǒng)的負(fù)載,w、top 這類程序也是從此得到系統(tǒng)負(fù)載信息。
    * /proc/uptime: 系統(tǒng)自啟動來所經(jīng)歷的秒數(shù),uptime 程序就是從此計算出系統(tǒng)啟動后經(jīng)歷的時間的。
    * /proc/devices: 系統(tǒng)中所有可用的字符和塊設(shè)備。
    * /proc/ioports: IO 端口信息。
    * /proc/dma: 當(dāng)前可用的 DMA 通道。
    * /proc/mounts: 系統(tǒng)當(dāng)前的掛載信息。
除此之外,還有一些文件和硬件相關(guān),比如 /proc/interrupts 為終端信息,/proc/irq 為 IRQ 信息,還有 /proc/pci、/proc/bus 等等。
現(xiàn)在我們來看看開始提到的那些數(shù)字目錄,也就是和進(jìn)程相關(guān)的目錄。
如前面所說,每個數(shù)字目錄都代表了一個正在運行的進(jìn)程,目錄的數(shù)字名就是進(jìn)程的 ID,每當(dāng)一個新進(jìn)程啟動,一個新的目錄就會被創(chuàng)建,同理進(jìn)程結(jié)束的時候,相應(yīng)的目錄也會消失。
讓我們看看進(jìn)程目錄下面都有啥:
localhost / # ls /proc/11108
auxv        cmdline          cwd      exe  fdinfo  maps  mounts      oom_adj    root   stat   status  wchan
clear_refs  coredump_filter  environ  fd   limits  mem   mountstats  oom_score  smaps  statm  task
隨便挑選了一個名稱為 11108 的目錄,在我的機子上對應(yīng)的進(jìn)程是 firefox-bin,讓我們看看目錄下這些文件都是啥:
    * cmdline: 啟動進(jìn)程的命令和參數(shù)。
    * cwd: 指向進(jìn)程當(dāng)前目錄的一個連接。
    * environ: 進(jìn)程所有的環(huán)境變量。
    * fd: 進(jìn)程所有打開的文件描述符,目錄下是一個個以數(shù)字為名稱的連接,指向了進(jìn)程當(dāng)前正在使用的文件。
    * maps, statm, mem: 進(jìn)程的內(nèi)存信息。
    * stat, status: 進(jìn)程的狀態(tài)信息,比如查看 /proc/status 中是否含有 “Zombie”字樣,來查看僵尸進(jìn)程。
/proc/sys

/proc/sys 目錄下不僅提供了系統(tǒng)某些設(shè)置信息,你還可以修改這些文件來在運行中改變系統(tǒng)的參數(shù),比如,你想讓別人 ping 不到你,只要:
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
這樣就可以讓系統(tǒng)忽略所有的 ICMP 回應(yīng),別人就 ping 不到你了。
/proc/sys 下的可配置的選項很多,主要有 6 類: debug、dev、fs、kernel、net、vm,只要文件屬性是可讀寫的,一般都對應(yīng)了系統(tǒng)某個可以修改的參數(shù)。
不過系統(tǒng)重啟之后參數(shù)就恢復(fù)默認(rèn)值了,其實有專門的工具來修改這些參數(shù),那就是
sysctl
和 /etc/sysctl.conf 這個配置文件,不過這不是本文的內(nèi)容,感興趣的就去搜一下吧~
               
               
               

本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u/24409/showart_547998.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP