[LinuxFocus-icon]
<--  | �����  | �����  | ������  | �����

������� | ������ | ������ | ��� LF
��� �������� �������� �� ��������� ������: English  Castellano  ChineseGB  Deutsch  Francais  Nederlands  Russian  Turkce  Polish  

[Sandeep Grover]
����� Sandeep Grover
<sandeep<at>Magma-DA.com>

�� ������:

Sandeep Grover �������� � Magma Design Automation, India -- ������������������� EDA (Electronic Design Automation) ��������. � ��������� ����� ���������� ��������� ���������� �� Linux � �������� � ������� ������������� � ���������� ���� ���� ������������ �������!



������� �� �������:
Pukhlyakov Kirill <kirill<at>linuxfocus.org>

����������:

 

� �������� ������� /proc

[the proc filesystem]

������:

���� Linux ������������� �������� ������� � ����� ���������� ���������� � ��������� �������� ��������� ���� �� ����� ������ �� ����������� ������� /proc. �� ���������� � ������� ��� ������� ���������� ����������� Intel x86, �� �������� �������� ��������� � �� Linux �� ����� ���������.


_________________ _________________ _________________

 

����������� �������� ������� /proc

�������� ������� /proc �������� ���������� ��� ���� � ��� �������, ����������� �������� ���������� ��������� ( ������ � �������� /proc ). � ������� ���� ����������� �������� ������� �� ������ �������� � ����������� ����������� ����, �������� �������� ���������� � ��������� � �������� ��������� ( ����� ��������� ���� ) �� ����. �������� ������� /proc ������������� � ������ � ������� �� ������ �������� ������, ������� ������������� �� �����. ���� �� ���������� �� ���� /proc/mounts ( �� ������� ������ ���� ���������������� �������� ������ ������� ������� "moount" ) �� ������� ���-������ ���� :


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

/proc �������������� �����. ��-�� ����, ��� ��� ������������� ���������� �������������� �����, �������, ��� ��� ������������� � ������, �������������� ����� �����. ������� "ls -l" �������, ��� ����������� ������ � ���� ������� ����� ������� �����, �� ��������� ����� ���� �� �������� ���������� ����������. ��� ��� ����� ����? ��� ������ - �������� ������� /proc ��� ����� ������ �������� ������� �������������� �� ������ VFS ( Virtual File System layer ). ������� ��� ������� ������/���������, �������� ������� /proc ������� ��� �����/�������� �� ��������� ����������, ������������ � ����.

 

������������ �������� ������� /proc

���� /proc ��� �� �������������� - �� ������ ������� ��� ��������� �������:

mount -t proc proc /proc

����� ��������� ���������� �� �������� �������� man mount.

 

�������� ������ /proc

� ������� ������ � /proc �� ������ �������� ���������� � ��������� ����, ���������, ���������� ���������� � �.�. ����������� ������ � /proc �������� ����� ������ ���������� � ��������� ������������. �������� �� ��, ��� ��� ����� ����������� - �� ����� ����������� ����� ��������� ���������� ��� � ������� ������ "more", "less" ��� "cat". ��� ������� �������� ������������ ����� ��������� ���������� - ���� ���� ��������� �� ���� �� ������ ����������, ������������ � ����. ������� ����� ��������� ���������� ����� � ���� �������:

$ 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

��� ���������������� �������. � ��������� ������ �������� ������� /proc ���������� ������������, ������ ��������� ������� ������������� � ����� - ��� ������� �� � ���� �������� ��������. � ���� �������� ���������: "top", "ps", "apm" � �.�.

 

�������� ���������� � ������� � ����


���������� ��������� ������ �����:

�� ����� ���� ������ � �������� /proc ������� ������. �� ������ �������� ����������� ��� ����� � /proc ��������� "more" � read [1]. ������� ��� ������������ "more" ������ "cat" ������, ��� ��������� ����� ( �������� kcore ) ����� ���� ����� �������� �������.

 

���������� � ���������

�������� ������� /proc ������ ����� ���������� ���������� � ������������� ���������. ���� �� ����������� ���������� ������ �������� /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" ���������� ����������, ������� ��� ������� �������. � ����� "environ" ��������� ���������� ��������� ����� ��������, � ����� ������������� ������������ ( UID ) � ������ ( GID ) ������������ �������, ������������� ������������� �������� ( PPID ) � ������� ��������� �������� ( �������� "Sleeping" ��� "Running" ). ����� � �������� ��������� ��������� ������������� ������: "cwd" - ������ � �������� �������� �������� ��������, "exe" - ����������� ���� ��������, "root" - ������ � ��������, ������� ��������� ��������� �������� ( ������ ��� "/" ). � �������� "fd" ��������� ������ � ������������ ������������ ������ ���������. "cpu" �������� ������ �� SMP ����� Linux.

/proc/self ���������� ���������� - � ��� ������� ���������� ������ ���������� � ����. �� ����� ���� /proc/self �������� ������������� ������� �� ������� �������� ������������� � /proc.

 

������ � ����� ����������� /proc


����������� �� ������������� ���� ������ �� �������� /proc �������� ������ �� ������. ��� �� ����� �������� ������� /proc ������������� ����� ��� �������������� � ����� ��������� �� ������. ��������� ���������� � ����� ����� �������� ��������� ���� � ������� ��� ���� ������ ����� ���������. ��� ����� �������� � �������� /proc/sys.

� �������� /proc/sys/kernel ��������� ���������� ������ ����� ��� ����. �������������� � /proc/sys/kernel/{domainname, hostname} ��������� ���������� � �������� ����� � host �����, ������� �� ������ ��������.

$ 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 �� ����� �������� hostname. ����� ������ ��� ��������� ��������� � /proc/sys/kernel/. ���������, ���������� � ������� ����������� ��� �����, ����� ��� ����� ����� ��������� �������������� ���������� �� ��� ��������.
��� ���� ���������� ������� /proc/sys/net. � ��� �� ������ ���������� ������� ���������, �������� �������� ��� ��������� � ����.

$ echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
�������� ������ �� icmp_echos �� �������� ���������. ���� ������ �� ����� �������� �� ������� "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.

 

������ ����������


 

�������� �������

� ������ ������� ���� �������� �������. �� ���� �������� �� ������ �������� ���� ����������� ��� ����������� ����������� ������ ��������� :
 talkback page 

<--, ������� � ��������� �������� �������

Webpages maintained by the LinuxFocus Editor team
© Sandeep Grover, FDL
LinuxFocus.org
Translation information:
en --> -- : Sandeep Grover <sandeep<at>Magma-DA.com>
en --> ru: Pukhlyakov Kirill <kirill<at>linuxfocus.org>

2004-01-10, generated by lfparser version 2.45