|
|
This document is available in: English Castellano ChineseGB Deutsch Francais Nederlands Russian Turkce Polish |
by Sandeep Grover <sandeep<at>Magma-DA.com> ��������: Sandeep Grover Ϊӡ�ڰ����ݵ� Magma Design Automation ����, -- ���� һ�����ٳɳ��� EDA (��������Զ���) ��˾��������ҵ��ʱ�䣬��̽�� Linux ���ڲ����ƣ���ϣ����һ���ܹ����ں������Լ��Ĺ��ס� Ŀ¼:
|
���� Proc �ļ�ϵͳժҪ:
Linux �ں��ṩ��һ��ͨ�� /proc �ļ�ϵͳ��������ʱ�����ں��ڲ����ݽṹ�� �ı��ں����õĻ��ơ������ڸ���Ӳ��ƽ̨�ϵ� Linux ϵͳ�� /proc �ļ�ϵͳ�� �����������ͬ�ģ�������ֻ���ۻ��� intel x86 �ܹ��� Linux /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 �ļ�ϵͳ��
mount -t proc proc /proc
��������ɹ�������� proc �ļ�ϵͳ������ϸ�����Ķ� mount ����� man page��/proc ���ļ��������ڷ����й��ں˵�״̬������������ԡ��������еĽ��̵� ״̬����Ϣ���󲿷� /proc �е��ļ���Ŀ¼�ṩϵͳ�����������µ���Ϣ������ /proc �е��ļ�������ģ��������Կ���ʹ���κ��ļ��à¼ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½'more', 'less'�� 'cat'�����ij������鿴�����à¼ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Í¼ï¿½ï¿½Ò»ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ä¼ï¿½Ê±ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½Ä¼ï¿½ï¿½ï¿½Í¨ï¿½ï¿½ï¿½Úºï¿½ �е���Ϣ��ƾ�յ� (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
proc �ļ�ϵͳ���Ա������ռ����õĹ���ϵͳ�������е��ں˵���Ϣ��������һЩ��Ҫ
���ļ���
/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/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/�����ﲻ�����г�������Щ�ļ��� ���߿����Լ�ȥ���Ŀ¼�鿴�Եõ�����ϸ����Ϣ��
$ 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 ϵͳ�Ĺؼ���
|
��ҳ��LinuxFocus�à¼ï¿½ï¿½Î¬ï¿½ï¿½
© Sandeep Grover, FDL LinuxFocus.org |
������Ϣ:
|
2004-02-17, generated by lfparser version 2.46