青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

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

目錄名稱 目錄內容
apm 高級電源管理信息
cmdline 內核命令行
Cpuinfo 關于Cpu信息
Devices 可以用到的設備(塊設備/字符設備)
Dma 使用的DMA通道
Filesystems 支持的文件系統
Interrupts 中斷的使用
Ioports I/O端口的使用
Kcore 內核核心印象
Kmsg 內核消息
Ksyms 內核符號表
Loadavg 負載均衡
Locks 內核鎖
Meminfo 內存信息
Misc 雜項
Modules 加載模塊列表
Mounts 加載的文件系統
Partitions 系統識別的分區表
Rtc 實時時鐘
Slabinfo Slab池信息
Stat 全面統計狀態表
Swaps 對換空間的利用情況
Version 內核版本
Uptime 系統正常運行時間

并不是所有這些目錄在你的系統中都有,這取決于你的內核配置和裝載的模塊。
另外,在/proc下還有三個很重要的目錄:net,scsi和 sys。Sys目錄是可寫的,
可以通過它來訪問或修改內核的參數(見下一部分),而net和scsi則依賴于
內核配置。例如,如果系統不支持scsi,則 scsi目錄不存在。

除了以上介紹的這些,還有的是一些以數字命名的目錄,它們是進程目錄。
系統中當前運行的每一個進程都有對應的一個目錄在/proc下,以進程的
PID號為目錄名,它們是讀取進程信息的接口。而self目錄則是讀取進程
本身的信息接口,是一個link。Proc文件系統的名字就是由之而起。
進程目錄的結構如下:

目錄名稱 目錄內容
Cmdline 命令行參數
Environ 環境變量值
Fd 一個包含所有文件描述符的目錄
Mem 進程的內存被利用情況
Stat 進程狀態
Status 進程當前狀態,以可讀的方式顯示出來
Cwd 當前工作目錄的鏈接
Exe 指向該進程的執行命令文件
Maps 內存映象
Statm 進程內存狀態信息
Root 鏈接此進程的root目錄

用戶如果要查看系統信息,可以用cat命令。例如:

# cat /proc/interrupts
CPU0
0: 8728810 XT-PIC timer
1: 895 XT-PIC keyboard
2: 0 XT-PIC cascade
3: 531695 XT-PIC aha152x
4: 2014133 XT-PIC serial
5: 44401 XT-PIC pcnet_cs
8: 2 XT-PIC rtc
11: 8 XT-PIC i82365
12: 182918 XT-PIC Mouse
13: 1 XT-PIC fpu PS/2
14: 1232265 XT-PIC ide0
15: 7 XT-PIC ide1
NMI: 0

用戶還可以實現修改內核參數。在/proc文件系統中有一個有趣的
目錄:/proc/sys。它不僅提供了內核信息,而且可以通過它修改
內核參數,來優化你的系統。但是你必須很小心,因為可能會造
成系統崩潰。最好是先找一臺無關緊要的機子,調試成功后再應
用到你的系統上。

要改變內核的參數,只要用vi編輯或echo參數重定向到文件中即
可。下面有一個例子:

# cat /proc/sys/fs/file-max
4096
# echo 8192 > /proc/sys/fs/file-max
# cat /proc/sys/fs/file-max
8192

如果你優化了參數,則可以把它們寫成添加到文件rc.local中,
使它在系統啟動時自動完成修改。

/proc文件系統中網絡參數在/proc/sys/net/ipv4/目錄下,
包含的是和tcp/ip協議相關的各種參數,下面我們就對這些
網絡參數加以詳細的說明。

ip_forward 參數類型:BOOLEAN
0 - 關閉(默認值)
not 0 - 打開ip轉發

在網絡本地接口之間轉發數據報。該參數非常特殊,對該
參數的修改將導致其它所有相關配置參數恢復其默認值
(對于主機參閱RFC1122,對于路由器參見RFC1812)

ip_default_ttl 參數類型:INTEGER
默認值為 64 。表示IP數據報的Time To Live值。

ip_no_pmtu_disc 參數類型:BOOLEAN
關閉路徑MTU探測,默認值為FALSE

ipfrag_high_thresh 參數類型:整型
用來組裝分段的IP包的最大內存量。當ipfrag_high_thresh
數量的內存被分配來用來組裝IP包,則IP分片處理器將丟棄
數據報直到ipfrag_low_thresh數量的內存被用來組裝IP包。

ipfrag_low_thresh 參數類型:整型
參見ipfrag_high_thresh。

ipfrag_time 參數類型:整型
保存一個IP分片在內存中的時間。

inet_peer_threshold 參數類型:整型
INET對端存儲器某個合適值,當超過該閥值條目將被丟棄。
該閥值同樣決定生存時間以及廢物收集通過的時間間隔。
條目越多,存活期越低,GC 間隔越短

inet_peer_minttl 參數類型:整型
條目的最低存活期。在重組端必須要有足夠的碎片(fragment)
存活期。這個最低存活期必須保證緩沖池容積是否少于
inet_peer_threshold。該值以 jiffies為單位測量。

inet_peer_maxttl 參數類型:整型
條目的最大存活期。在此期限到達之后,如果緩沖池沒有耗盡
壓力的話(例如,緩沖池中的條目數目非常少),不使用的條目
將會超時。該值以 jiffies為單位測量。

inet_peer_gc_mintime 參數類型:整型
廢物收集(GC)通過的最短間隔。這個間隔會影響到緩沖池中
內存的高壓力。 該值以 jiffies為單位測量。

inet_peer_gc_maxtime 參數類型:整型
廢物收集(GC)通過的最大間隔,這個間隔會影響到緩沖池中
內存的低壓力。 該值以 jiffies為單位測量。

tcp_syn_retries 參數類型:整型
對于一個新建連接,內核要發送多少個 SYN 連接請求才決
定放棄。不應該大于255,默認值是5,對應于180秒左右。

tcp_synack_retries 參數類型:整型
對于遠端的連接請求SYN,內核會發送SYN + ACK數據報,
以確認收到上一個 SYN連接請求包。這是所謂的三次握手
( threeway handshake)機制的第二個步驟。這里決定內
核在放棄連接之前所送出的 SYN+ACK 數目。

tcp_keepalive_time 參數類型:整型
當keepalive打開的情況下,TCP發送keepalive消息的
頻率,默認值是2個小時。

tcp_keepalive_probes 參數類型:整型
TCP發送keepalive探測以確定該連接已經斷開的次數,默認值是9。

tcp_keepalive_interval 參數類型:整型
探測消息發送的頻率,乘以tcp_keepalive_probes就得到對于從
開始探測以來沒有響應的連接殺除的時間。默認值為75秒,也就
是沒有活動的連接將在大約11分鐘以后將被丟棄。

tcp_retries1 參數類型:整型
當出現可疑情況而必須向網絡層報告這個可疑狀況之前,需要
進行多少次重試。最低的 RFC 數值是 3 ,這也是默認值,
根據RTO的值大約在3秒 - 8分鐘之間。

tcp_retries2 參數類型:整型
在丟棄激活的TCP連接之前,需要進行多少次重試。RFC1122規定,
該值必須大于100秒。默認值為15,根據RTO的值來決定,
相當于13-30分鐘,

tcp_orphan_retries 參數類型:整型
在近端丟棄TCP連接之前,要進行多少次重試。默認值是 7 個,
相當于 50秒 - 16分鐘,視 RTO 而定。如果您的系統是負載很大
的web服務器,那么也許需要降低該值,這類 sockets 可能會耗費
大量的資源。另外參的考 tcp_max_orphans 。

tcp_fin_timeout 參數類型:整型
對于本端斷開的socket連接,TCP保持在FIN-WAIT-2狀態的時間。
對方可能會斷開連接或一直不結束連接或不可預料的進程死亡。
默認值為 60 秒。過去在2.2版本的內核中是 180 秒。您可以
設置該值,但需要注意,如果您的機器為負載很重的web服務器,
您可能要冒內存被大量無效數據報填滿的風險,FIN-WAIT-2
sockets 的危險性低于 FIN-WAIT-1 ,因為它們最多只吃 1.5K
的內存,但是它們存在時間更長。另外參考 tcp_max_orphans。

tcp_max_tw_buckets 參數類型:整型
系統在同時所處理的最大timewait sockets 數目。如果超過
此數的話,time-wait socket 會被立即砍除并且顯示警告信息。
之所以要設定這個限制,純粹為了抵御那些簡單的 DoS 攻擊,
千萬不要人為的降低這個限制,不過,如果網絡條件需要比
默認值更多,則可以提高它(或許還要增加內存)。

tcp_tw_recycle 參數類型:布爾
打開快速 TIME-WAIT sockets 回收。默認值是1。除非得到
技術專家的建議或要求,請不要隨意修改這個值。

tcp_max_orphans 參數類型:整型
系統所能處理不屬于任何進程的TCP sockets最大數量。假如
超過這個數量,那么不屬于任何進程的連接會被立即reset,
并同時顯示警告信息。之所以要設定這個限制,純粹為了抵御
那些簡單的 DoS 攻擊,千萬不要依賴這個或是人為的降低
這個限制

tcp_abort_on_overflow 參數類型:布爾
當守護進程太忙而不能接受新的連接,就象對方發送reset
消息,默認值是false。這意味著當溢出的原因是因為一個
偶然的猝發,那么連接將恢復狀態。只有在你確信守護進程
真的不能完成連接請求時才打開該選項,該選項會影響客戶
的使用。

tcp_syncookies 參數類型:整型
只有在內核編譯時選擇了CONFIG_SYNCOOKIES時才會發生作用。
當出現syn等候隊列出現溢出時象對方發送syncookies。目的
是為了防止syn flood攻擊。默認值是false。

注意:該選項千萬不能用于那些沒有收到攻擊的高負載服務器,
如果在日志中出現synflood消息,但是調查發現沒有收到
synflood攻擊,而是合法用戶的連接負載過高的原因,
你應該調整其它參數來提高服務器性能。
參考: tcp_max_syn_backlog, tcp_synack_retries,
tcp_abort_on_overflow.

syncookie嚴重的違背TCP協議,不允許使用TCP擴展,
可能對某些服務導致嚴重的性能影響(如SMTP轉發)。

tcp_stdurg 參數類型:整型
使用 TCP urg pointer 字段中的主機請求解釋功能。
大部份的主機都使用老舊的 BSD解釋,因此如果您在
 Linux 打開它,或會導致不能和它們正確溝通。
默認值為為:FALSE

tcp_max_syn_backlog 參數類型:整型
對于那些依然還未獲得客戶端確認的連接請求,需要
保存在隊列中最大數目。對于超過 128Mb 內存的系統,
默認值是 1024 ,低于 128Mb 的則為 128。如果服務
器經常出現過載,可以嘗試增加這個數字。警告!假如
您將此值設為大于 1024,最好修改 include/net/tcp.h
 里面的 TCP_SYNQ_HSIZE ,以保持
 TCP_SYNQ_HSIZE*16<=tcp_max_syn_backlog ,
并且編進核心之內。

tcp_window_scaling 參數類型:布爾
正常來說,TCP/IP 可以接受最大到65535字節的 windows。
對于寬帶網絡,該值可能是不夠的,通過調整該參數
有助于提高寬帶服務器性能。

tcp_timestamps 參數類型:布爾
Timestamps 用在其它一些東西中,可以防范那些偽造的
 sequence 號碼。一條1G的寬帶線路或許會重遇到帶
out-of-line數值的舊sequence 號碼(假如它是由于上次
產生的)。Timestamp 會讓它知道這是個 '舊封包'。

tcp_sack 參數類型:布爾
使用 Selective ACK,它可以用來查找特定的遺失的
數據報--- 因此有助于快速恢復狀態。

tcp_fack 參數類型:布爾
打開FACK擁塞避免和快速重傳功能。

tcp_dsack 參數類型:布爾
允許TCP發送"兩個完全相同"的SACK。

tcp_ecn 參數類型:布爾
打開TCP的直接擁塞通告功能。

tcp_reordering 參數類型:整型
TCP流中重排序的數據報最大數量默認值是 3 。

tcp_retrans_collapse 參數類型:布爾
對于某些有bug的打印機提供針對其bug的兼容性。

tcp_wmem - 三個整數的向量: min, default, max
min:為TCP socket預留用于發送緩沖的內存最小值。
每個tcp socket都可以在建議以后都可以使用它。
默認值為4K。

default:為TCP socket預留用于發送緩沖的內存數量,
默認情況下該值會影響其它協議使用的net.core.wmem_default
 值,一般要低于net.core.wmem_default的值。默認值為16K。

max: 用于TCP socket發送緩沖的內存最大值。該值不會影響
net.core.wmem_max,今天選擇參數SO_SNDBUF則不受該值影響。
默認值為128K。

tcp_rmem - 三個整數的向量: min, default, max
min:為TCP socket預留用于接收緩沖的內存數量,即使在內存
出現緊張情況下tcp socket都至少會有這么多數量的內存用于
接收緩沖,默認值為8K。

default:為TCP socket預留用于接收緩沖的內存數量,默認
情況下該值影響其它協議使用的 net.core.wmem_default 值。
該值決定了在tcp_adv_win_scale、tcp_app_win和tcp_app_win:0
是默認值情況下,tcp 窗口大小為65535。

max:用于TCP socket接收緩沖的內存最大值。該值不會影響
net.core.wmem_max,今天選擇參數 SO_SNDBUF則不受該值影響。
默認值為 128K。默認值為87380*2 bytes。

tcp_mem - 三個整數的向量: low, pressure, high
low:當TCP使用了低于該值的內存頁面數時,TCP不會考慮釋放內存。

pressure:當TCP使用了超過該值的內存頁面數量時,TCP試圖穩定
其內存使用,進入pressure模式,當內存消耗低于low值時則退出
pressure狀態。

high:允許所有tcp sockets用于排隊緩沖數據報的頁面量。

一般情況下這些值是在系統啟動時根據系統內存數量計算得到的。

tcp_app_win - 整數

保留max(window/2^tcp_app_win, mss)數量的窗口由于應用緩沖。
當為0時表示不需要緩沖。默認值是31。

tcp_adv_win_scale - 整數
計算緩沖開銷bytes/2^tcp_adv_win_scale(如果tcp_adv_win_scale > 0)
或者bytes-bytes/2^(-tcp_adv_win_scale)
(如果tcp_adv_win_scale <= 0),默認值為2。

ip_local_port_range - 兩個整數
定于TCP和UDP使用的本地端口范圍,第一個數是開始,
第二個數是最后端口號,默認值依賴于系統中可用的
內存數:
> 128Mb 32768-61000
< 128Mb 1024-4999 or even less.
該值決定了活動連接的數量,也就是系統可以并發的連接數

icmp_echo_ignore_all - 布爾類型
icmp_echo_ignore_broadcasts - 布爾類型
如果任何一個設置為true(>0)則系統將忽略所有發送給自己
的ICMP ECHO請求或那些廣播地址的請求。

icmp_destunreach_rate - 整數
icmp_paramprob_rate - 整數
icmp_timeexceed_rate - 整數
icmp_echoreply_rate - 整數(not enabled per default)
限制發向特定目標的ICMP數據報的最大速率。0表示沒有
任何限制,否則表示jiffies數據單位中允許發送的個數。

icmp_ignore_bogus_error_responses - 布爾類型
某些路由器違背RFC1122標準,其對廣播幀發送偽造的響應
來應答。這種違背行為通常會被以告警的方式記錄在系統
日志中。如果該選項設置為True,內核不會記錄這種警告
信息。默認值為False。

(1) Jiffie: 內核使用的內部時間單位,在i386系統上
大小為1/100s,在Alpha中為1/1024S。
在/usr/include/asm/param.h中的HZ定義有特定系統的值。

conf/interface/*:
conf/all/*是特定的,用來修改所有接口的設置,
is special and changes the settings for all interfaces.
Change special settings per interface.

log_martians - 布爾類型
記錄帶有不允許的地址的數據報到內核日志中。

accept_redirects - 布爾類型
收發接收ICMP重定向消息。對于主機來說默認為True,
對于用作路由器時默認值為False。

forwarding - 布爾類型
在該接口打開轉發功能

mc_forwarding - 布爾類型
是否進行多播路由。只有內核編譯有CONFIG_MROUTE
并且有路由服務程序在運行該參數才有效。

proxy_arp - 布爾類型
打開proxy arp功能。

shared_media - 布爾類型
發送(路由器)或接收(主機) RFC1620 共享媒體重定向。
覆蓋ip_secure_redirects的值。默認為True。

secure_redirects - 布爾類型
僅僅接收發給默認網關列表中網關的ICMP重定向消息,
默認值是TRUE。

send_redirects - 布爾類型
如果是router,發送重定向消息,默認值是TRUE

bootp_relay - 布爾類型
接收源地址為0.b.c.d,目的地址不是本機的數據報。
用來支持BOOTP轉發服務進程,該進程將捕獲并轉發該包。
默認為False,目前還沒有實現。

accept_source_route - 布爾類型
接收帶有SRR選項的數據報。對于主機來說默認為False,
對于用作路由器時默認值為True。

rp_filter 參數類型
1 - 通過反向路徑回溯進行源地址驗證(在RFC1812中定義)。
對于單穴主機和stub網絡路由器推薦使用該選項。
0 - 不通過反向路徑回溯進行源地址驗證。
默認值為0。某些發布在啟動時自動將其打開。


理解 Proc 文件系統 

--------------------------------------------------------------------------------

作者:王旭 翻譯 2004-10-05 18:25:55 來自:linuxfocus


目錄:
/proc --- 一個虛擬文件系統
加載 proc 文件系統
察看 /proc 的文件
得到有用的系統/內核信息
有關運行中的進程的信息
通過 /proc 與內核交互
結論
參考文獻

摘要:


Linux 內核提供了一種通過 /proc 文件系統,在運行時訪問
內核內部數據結構、改變內核設置的機制。盡管在各種硬件
平臺上的 Linux 系統的 /proc 文件系統的基本概念都是
相同的,但本文只討論基于 intel x86 架構的 Linux
/proc 文件系統。



_________________ _________________ _________________


/proc --- 一個虛擬文件系統
/proc 文件系統是一種內核和內核模塊用來向進程 (process)
發送信息的機制 (所以叫做 /proc)。這個偽文件系統讓你可以
和內核內部數據結構進行交互,獲取 有關進程的有用信息,
在運行中 (on the fly) 改變設置 (通過改變內核參數)。
與其他文件系統不同,/proc 存在于內存之中而不是硬盤上。
如果你察看文件 /proc/mounts (和 mount 命令一樣列出所有
已經加載的文件系統),你會看到其中 一行是這樣的:



grep proc /proc/mounts
/proc /proc proc rw 0 0

/proc 由內核控制,沒有承載 /proc 的設備。因為 /proc
主要存放由內核控制的狀態信息,所以大部分這些信息的
邏輯位置位于內核控制的內存。對 /proc 進行一次 'ls -l'
可以看到大部分文件都是 0 字節大的;不過察看這些文件的
時候,確實可以看到一些信息。這怎么可能?這是因為 /proc
文件系統和其他常規的文件系統一樣把自己注冊到虛擬文件
系統層 (VFS) 了。然而,直到當 VFS 調用它,請求文件、
目錄的 i-node 的時候,/proc 文件系統才根據內核中的信息
建立相應的文件和目錄。


加載 proc 文件系統
如果系統中還沒有加載 proc 文件系統,可以通過如下命令
加載 proc 文件系統:


mount -t proc proc /proc

上述命令將成功加載你的 proc 文件系統。更多細節請閱讀
 mount 命令的 man page。


察看 /proc 的文件
/proc 的文件可以用于訪問有關內核的狀態、計算機的屬性、
正在運行的進程的狀態等信息。大部分 /proc 中的文件和
目錄提供系統物理環境最新的信息。盡管 /proc 中的文件
是虛擬的,但它們仍可以使用任何文件編輯器或像'more',
'less'或 'cat'這樣的程序來查看。當編輯程序試圖打開
一個虛擬文件時,這個文件就通過內核中的信息被憑空地
(on the fly) 創建了。這是一些我從我的系統中得到的
一些有趣結果:

$ ls -l /proc/cpuinfo
-r--r--r-- 1 root root 0 Dec 25 11:01 /proc/cpuinfo

$ file /proc/cpuinfo
/proc/cpuinfo: empty

$ cat /proc/cpuinfo

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 6
cpu MHz : 1000.119
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
sep_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 mmx fxsr xmm
bogomips : 1998.85

processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 6
cpu MHz : 1000.119
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
sep_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 mmx fxsr xmm
bogomips : 1992.29


這是一個從雙 CPU 的系統中得到的結果,上述大部分的信息
十分清楚地給出了這個系統的有用的硬件信息。有些 /proc
的文件是經過編碼的,不同的工具可以被用來解釋這些編碼
過的信息并輸出成可讀的形式。這樣的工具包括:'top',
 'ps', 'apm' 等。



得到有用的系統/內核信息

proc 文件系統可以被用于收集有用的關于系統和運行中的內
核的信息。下面是一些重要的文件:

/proc/cpuinfo - CPU 的信息 (型號, 家族, 緩存大小等)
/proc/meminfo - 物理內存、交換空間等的信息
/proc/mounts - 已加載的文件系統的列表
/proc/devices - 可用設備的列表
/proc/filesystems - 被支持的文件系統
/proc/modules - 已加載的模塊
/proc/version - 內核版本
/proc/cmdline - 系統啟動時輸入的內核命令行參數
proc 中的文件遠不止上面列出的這么多。想要進一步了解
的讀者可以對 /proc 的每一個文件都'more'一下或讀參考
文獻[1]獲取更多的有關 /proc 目錄中的文件的信息。我
建議使用'more'而不是'cat',除非你知道這個文件很小,
因為有些文件 (比如 kcore) 可能會非常長。


有關運行中的進程的信息
/proc 文件系統可以用于獲取運行中的進程的信息。在
/proc 中有一些編號的子目錄。每個編號的目錄對應
一個進程 id (PID)。這樣,每一個運行中的進程 /proc
中都有一個用它的 PID 命名的目錄。這些子目錄中包含
可以提供有關進程的狀態和環境的重要細節信息的文件。
讓我們試著查找一個運行中的進程。

$ ps -aef | grep mozilla
root 32558 32425 8 22:53 pts/1 00:01:23 /usr/bin/mozilla

上述命令顯示有一個正在運行的 mozilla 進程的 PID
是 32558。相對應的,/proc 中應該有一個名叫 32558 的目錄


$ ls -l /proc/32558
total 0
-r--r--r-- 1 root root 0 Dec 25 22:59 cmdline
-r--r--r-- 1 root root 0 Dec 25 22:59 cpu
lrwxrwxrwx 1 root root 0 Dec 25 22:59 cwd -> /proc/
-r-------- 1 root root 0 Dec 25 22:59 environ
lrwxrwxrwx 1 root root 0 Dec 25 22:59 exe -> /usr/bin/mozilla*
dr-x------ 2 root root 0 Dec 25 22:59 fd/
-r--r--r-- 1 root root 0 Dec 25 22:59 maps
-rw------- 1 root root 0 Dec 25 22:59 mem
-r--r--r-- 1 root root 0 Dec 25 22:59 mounts
lrwxrwxrwx 1 root root 0 Dec 25 22:59 root -> //
-r--r--r-- 1 root root 0 Dec 25 22:59 stat
-r--r--r-- 1 root root 0 Dec 25 22:59 statm
-r--r--r-- 1 root root 0 Dec 25 22:59 status

文件 "cmdline" 包含啟動進程時調用的命令行。"envir" 進程
的環境變兩。 "status" 是進程的狀態信息,包括啟動進程的
用戶的用戶ID (UID) 和組ID(GID) ,父進程ID (PPID),還有
進程當前的狀態,比如"Sleelping"和"Running"。每個進程的
目錄都有幾個符號鏈接,"cwd"是指向進程當前工作目錄的符號
鏈接,"exe"指向運行的進程的可執行程序,"root"指向被這個
進程看作是根目錄的目錄 (通常是"/")。目錄"fd"包含指向進程
使用的文件描述符的鏈接。 "cpu"僅在運行 SMP 內核時出現,
里面是按 CPU 劃分的進程時間。

/proc/self 是一個有趣的子目錄,它使得程序可以方便地使用
/proc 查找本進程地信息。/proc/self 是一個鏈接到 /proc
中訪問 /proc 的進程所對應的 PID 的目錄的符號鏈接。



通過 /proc 與內核交互

上面討論的大部分 /proc 的文件是只讀的。而實際上 /proc
文件系統通過 /proc 中可讀寫的文件提供了對內核的交互機制。
寫這些文件可以改變內核的狀態,因而要慎重改動這些文件。
/proc/sys 目錄存放所有可讀寫的文件的目錄,可以被用于改變
內核行為。

/proc/sys/kernel - 這個目錄包含反通用內核行為的信息。
 /proc/sys/kernel/{domainname, hostname} 存放著機器/網絡
的域名和主機名。這些文件可以用于修改這些名字。



$ hostname
machinename.domainname.com

$ cat /proc/sys/kernel/domainname
domainname.com

$ cat /proc/sys/kernel/hostname
machinename

$ echo "new-machinename" > /proc/sys/kernel/hostname

$ hostname
new-machinename.domainname.com



這樣,通過修改 /proc 文件系統中的文件,我們可以修改
主機名。很多其他可配置的文件存在于 /proc/sys/kernel/。
這里不可能列出所有這些文件,讀者可以自己去這個目錄
查看以得到更多細節信息。
另一個可配置的目錄是 /proc/sys/net。這個目錄中的文件
可以用于修改機器/網絡的網絡屬性。比如,簡單修改一個
文件,你可以在網絡上癮藏匿的計算機。


$ echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

這將在網絡上癮藏你的機器,因為它不響應 icmp_echo。
主機將不會響應其他主機發出的 ping 查詢。

$ ping machinename.domainname.com
no answer from machinename.domainname.com

要改回缺省設置,只要

$ echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

/proc/sys 下還有許多其它可以用于改變內核屬性。讀者
可以通過參考文獻 [1], [2] 獲取更多信息。


結論
/proc 文件系統提供了一個基于文件的 Linux 內部接口。
它可以用于確定系統的各種不同設備和進程的狀態。對
他們進行配置。因而,理解和應用有關這個文件系統的
知識是理解你的 Linux 系統的關鍵。

參考文獻
[1] 有關Linux proc 文件系統的文檔位于:
/usr/src/linux/Documentation/filesystems/proc.txt
[2] RedHat Guide: The /proc File System:
http://www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/ref-guide/ch-proc.html
from:
http://www.cnblogs.com/huqingyu/archive/2005/04/03/131107.html
http://zhidao.baidu.com/question/8804458.html

posted on 2010-05-04 22:03 chatler 閱讀(1179) 評論(0)  編輯 收藏 引用 所屬分類: Linux_Coding
<2010年11月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(10)

隨筆分類(307)

隨筆檔案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产免费成人| 欧美寡妇偷汉性猛交| 欧美成人精品一区二区| 午夜在线一区二区| 欧美日韩国产bt| 欧美成人国产| 国外成人性视频| 狠久久av成人天堂| 午夜综合激情| 日韩一二三区视频| 久久免费精品日本久久中文字幕| 亚洲欧美成人在线| 欧美激情精品久久久六区热门 | 欧美成人国产| 国语自产在线不卡| 欧美一级在线播放| 欧美一级大片在线观看| 欧美午夜视频| 日韩一级黄色片| 一本大道久久精品懂色aⅴ| 麻豆视频一区二区| 欧美激情无毛| 亚洲激情六月丁香| 欧美大片在线影院| 亚洲高清久久| 亚洲黄色高清| 免费在线欧美视频| 亚洲国产小视频在线观看| 亚洲国产欧美日韩精品| 亚洲欧美一区二区视频| 亚洲一区二区精品在线| 欧美日韩精品一区二区| 日韩香蕉视频| 亚洲欧美电影院| 国产欧美一区二区三区久久| 午夜欧美视频| 裸体一区二区三区| 亚洲黄色一区二区三区| 欧美韩日一区二区三区| 亚洲精品三级| 亚洲欧美另类久久久精品2019| 国产精品美女一区二区| 欧美在线观看网址综合| 老牛嫩草一区二区三区日本| 亚洲国产91| 欧美日韩国产精品成人| 中文高清一区| 六月婷婷一区| 亚洲理论在线观看| 国产精品入口日韩视频大尺度| 亚洲欧美第一页| 猛男gaygay欧美视频| 亚洲免费不卡| 国产精品美女久久| 一区二区三区四区五区在线 | 9人人澡人人爽人人精品| 欧美日韩免费看| 欧美亚洲在线| 亚洲国产精品成人va在线观看| 日韩亚洲视频在线| 国产精品中文字幕欧美| 久久综合久久综合久久| av成人动漫| 久久亚洲影院| 国产精品99久久99久久久二8 | 国产乱码精品| 蜜臀av性久久久久蜜臀aⅴ| 夜夜精品视频| 欧美1区2区| 午夜久久久久久| 亚洲人成绝费网站色www| 国产精品久久久久久久久久妞妞| 久久久99精品免费观看不卡| 亚洲日本中文字幕免费在线不卡| 午夜精品免费| 亚洲毛片av| 韩国在线视频一区| 国产精品分类| 欧美激情偷拍| 久久精品视频导航| 亚洲自拍电影| 亚洲精品综合精品自拍| 免费视频最近日韩| 欧美一区二区私人影院日本| 日韩午夜电影av| 伊人激情综合| 国产亚洲综合精品| 国产精品久久久久久久久久尿| 麻豆国产精品一区二区三区| 欧美一级在线视频| 亚洲女同在线| 亚洲桃色在线一区| 亚洲美女视频在线观看| 亚洲高清在线精品| 欧美成人激情视频| 狂野欧美激情性xxxx欧美| 欧美亚洲一区二区在线观看| 宅男精品视频| 日韩西西人体444www| 最新成人在线| 亚洲国产精品一区二区第四页av| 国产综合视频| 国产在线精品一区二区夜色| 国产日韩精品一区| 国产精品一区2区| 国产精品一区二区在线观看网站 | 嫩草成人www欧美| 久久久久久久久久久久久9999| 午夜精品www| 亚洲欧美日韩精品综合在线观看| 夜夜嗨av一区二区三区| aaa亚洲精品一二三区| 亚洲狼人精品一区二区三区| 亚洲另类自拍| 一区二区欧美国产| 亚洲一级网站| 亚洲欧美激情在线视频| 亚洲欧美激情诱惑| 欧美一区二区在线免费播放| 久久不见久久见免费视频1| 亚欧成人在线| 久久亚洲国产精品一区二区| 浪潮色综合久久天堂| 欧美护士18xxxxhd| 欧美少妇一区| 国产日韩在线一区| 在线成人激情| 在线视频免费在线观看一区二区| 亚洲性视频网址| 欧美在线一二三区| 欧美成年人在线观看| 91久久中文| 亚洲一区在线免费| 久久不射中文字幕| 久久人91精品久久久久久不卡 | 国产精品日韩精品| 激情文学综合丁香| 正在播放欧美视频| 久久精品国产亚洲aⅴ| 欧美福利视频一区| 亚洲桃花岛网站| 久久亚洲高清| 欧美少妇一区| 永久免费精品影视网站| 一本色道久久综合狠狠躁篇的优点| 午夜国产精品视频免费体验区| 久久久久久久成人| 亚洲免费成人av| 欧美一区综合| 欧美日韩三区| 亚洲国产mv| 午夜精品福利在线观看| 欧美成人中文字幕在线| 亚洲无毛电影| 欧美高清自拍一区| 国产视频一区欧美| 亚洲天堂av电影| 美女爽到呻吟久久久久| 亚洲午夜日本在线观看| 女仆av观看一区| 国产一区导航| 午夜日韩激情| 亚洲精品乱码久久久久久日本蜜臀| 欧美一区二区三区视频免费播放| 欧美精品在线观看| 伊人久久综合97精品| 小黄鸭精品aⅴ导航网站入口| 亚洲电影免费观看高清完整版在线观看| 亚洲一级二级| 欧美日韩在线播放三区| 最新成人av网站| 美女亚洲精品| 欧美在线亚洲在线| 国产精品婷婷| 亚洲欧美韩国| 亚洲蜜桃精久久久久久久| 免费中文日韩| 亚洲大胆美女视频| 久久精品2019中文字幕| 亚洲制服av| 国产精品久久久久久亚洲毛片 | 久久久久久亚洲精品中文字幕| 亚洲区免费影片| 牛牛影视久久网| 在线观看亚洲a| 榴莲视频成人在线观看| 欧美专区在线观看一区| 国产伦精品一区二区三区照片91| 9久草视频在线视频精品| 亚洲国产欧美国产综合一区| 久热成人在线视频| 曰韩精品一区二区| 免费视频久久| 久热精品在线视频| 在线欧美小视频| 欧美国产精品劲爆| 欧美成年视频| 一区二区精品| 正在播放欧美一区| 国产欧美日韩一区二区三区在线观看|