网站大量收购独家精品文档,联系QQ:2885784924

全面了解Linux下Proc文件系统(附件).doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全面了解Linux下Proc文件系统Proc是一个虚拟文件系统,在Linux系统中它被挂载于/proc目录之上。Proc有多个功能 ,这其中包括用户可以通过它访问内核信息或用于排错,这其中一个非常有 用的功能,也是Linux变得更加特别的功能就是以文本流的形式来访问进程信息。很Linux命令(比如 ps、toPpstree等)都需要使用这个文件系统的信息。 本文就是向用户介绍一些访问这些信息的方法 。需要说明的是,本文所述的内容并不 一定适用所有内核版本,有部分操作只适用于2.6内核。 bus 总线信息(只读) ???? drivers 驱动信息(只读) ???? fs 文件系统特别信息(只读) ???? ide IDE接口信息(只读) ???? irq IRQ信息(只读) ???? net 网络子系统信息(只读) ???? scsi SCSI系统信息(只读) ???? sysvipc IPC子系统信息(只读) ???? tty tty子系统信息(只读) ???? sys 系统内核可调参数 (可调)?? 一、进程信息 在/proc文件系统中,每一个进程都有一个相应的文件 。下面是/proc目录下的一些重要文件 : /proc/pid/cmdline 包含了用于开始进程的命令 ; /proc/pid/cwd包含了当前进程工作目录的一个链接 ; /proc/pid/environ 包含了可用进程环境变量的列表 ; /proc/pid/exe 包含了正在进程中运行的程序链接; /proc/pid/fd/ 这个目录包含了进程打开的每一个文件的链接; /proc/pid/mem 包含了进程在内存中的内容; /proc/pid/stat包含了进程的状态信息; /proc/pid/statm 包含了进程的内存使用信息。 下面是一些获取进程信息的例子: ◆ 假设现在要查看是否所有的进程都会做存储器清除工作。在/proc/pid/stat文件中的每一 个进程标识 (第8个属性)提供了有关进程的很多 “个人”信 息。这个信 息可以对每一个 进程标识进行。 0Process being created 0Exiting 0Dead 0Process using superuser privflage 0 P rocess dumping core 0Prooess received some signal 0 Process allocating memory 0Killed due to out-of--memory condition 笔者从/usr/src/linux/include/linux/sched.h 中提取了这些信息。 ◆ /proc/pid/fd/ 目录提供 了有关打开文件的信息。要查看被进程使用的输入文件,使用以下命令 : # ls –l /proc/pid/fd/0 ◆ 查看被进程使用socket,使用以下命令 : #ls –l /proc/pid/fd|sed –n `/socket/{s/.*\[//;s/\]//p}` 有关这些socket的信息可以使用以下命令获取 : # netstat --ae ◆ 要将命令行参数传递给任意进程,使用以下命令 : ~~cat /proc/pid/cmdline ◆ 要 获取某一进程父进程的ID号,使用以下命令: #grep PPid/proc/pid/status 二、普通的系统信息 Proc包含了很多系统信息,这其中包括CPU负载、文件系统和网络配置 。下面是一些通过Proc查看和更改系统的例子: ◆ 获取可用系统内存的空间 : # grep Free /proc/meminfo ◆ 自从系统最后一次启动后的系统统计可以从/proc/stat文件中获取 : #grep processes /proc/stat ◆ 获知第 1、5和15分钟系统负载的平均值 : #awk `{print “1 min:\t” $1 “\n5 min:\t” $2 “\n15 min:\t” $3}` /proc/loadavg ◆ /proc/partitions可用于获取系统的分区信息 。 ◆ /proc/net和/proc/sys/net可用于查看和更改重要的网络信息。比如,禁用ping命令,可以以 root身份运行以下命令 : #echo 1/proc/sys/net/ipv4/icmp_echo_ignore_all 如果要启用IP转发/IP伪装,

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档