⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 procref1.html

📁 Shall高级编程
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML><HEAD><TITLE>/proc</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+"><LINKREL="HOME"TITLE="Advanced Bash-Scripting Guide"HREF="index.html"><LINKREL="UP"TITLE="/dev and /proc"HREF="devproc.html"><LINKREL="PREVIOUS"TITLE="/dev and /proc"HREF="devproc.html"><LINKREL="NEXT"TITLE="Of Zeros and Nulls"HREF="zeros.html"><METAHTTP-EQUIV="Content-Style-Type"CONTENT="text/css"><LINKREL="stylesheet"HREF="common/kde-common.css"TYPE="text/css"><METAHTTP-EQUIV="Content-Type"CONTENT="text/html; charset=iso-8859-1"><METAHTTP-EQUIV="Content-Language"CONTENT="en"><LINKREL="stylesheet"HREF="common/kde-localised.css"TYPE="text/css"TITLE="KDE-English"><LINKREL="stylesheet"HREF="common/kde-default.css"TYPE="text/css"TITLE="KDE-Default"></HEAD><BODYCLASS="SECT1"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#AA0000"VLINK="#AA0055"ALINK="#AA0000"STYLE="font-family: sans-serif;"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">Advanced Bash-Scripting Guide: An in-depth exploration of the art of shell scripting</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="devproc.html"ACCESSKEY="P">Prev</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom">Chapter 27. <TTCLASS="FILENAME">/dev</TT> and <TTCLASS="FILENAME">/proc</TT></TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="zeros.html"ACCESSKEY="N">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="PROCREF1"></A>27.2. <TTCLASS="FILENAME">/proc</TT></H1><P><ANAME="PROCREF2"></A></P><P>The <TTCLASS="FILENAME">/proc</TT> directory	is actually a pseudo-filesystem.  The files in <TTCLASS="FILENAME">/proc</TT> mirror currently running	system and kernel <AHREF="special-chars.html#PROCESSREF">processes</A>	and contain information and statistics about them.</P><P>         <TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"> <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>cat /proc/devices</B></TT> <TTCLASS="COMPUTEROUTPUT">Character devices:   1 mem   2 pty   3 ttyp   4 ttyS   5 cua   7 vcs  10 misc  14 sound  29 fb  36 netlink 128 ptm 136 pts 162 raw 254 pcmcia Block devices:   1 ramdisk   2 fd   3 ide0   9 md</TT>    <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>cat /proc/interrupts</B></TT> <TTCLASS="COMPUTEROUTPUT">           CPU0          0:      84505          XT-PIC  timer   1:       3375          XT-PIC  keyboard   2:          0          XT-PIC  cascade   5:          1          XT-PIC  soundblaster   8:          1          XT-PIC  rtc  12:       4231          XT-PIC  PS/2 Mouse  14:     109373          XT-PIC  ide0 NMI:          0  ERR:          0</TT>   <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>cat /proc/partitions</B></TT> <TTCLASS="COMPUTEROUTPUT">major minor  #blocks  name     rio rmerge rsect ruse wio wmerge wsect wuse running use aveq    3     0    3007872 hda 4472 22260 114520 94240 3551 18703 50384 549710 0 111550 644030    3     1      52416 hda1 27 395 844 960 4 2 14 180 0 800 1140    3     2          1 hda2 0 0 0 0 0 0 0 0 0 0 0    3     4     165280 hda4 10 0 20 210 0 0 0 0 0 210 210    ...</TT>    <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>cat /proc/loadavg</B></TT> <TTCLASS="COMPUTEROUTPUT">0.13 0.42 0.27 2/44 1119</TT>    <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>cat /proc/apm</B></TT> <TTCLASS="COMPUTEROUTPUT">1.16 1.2 0x03 0x01 0xff 0x80 -1% -1 ?</TT>    <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>cat /proc/acpi/battery/BAT0/info</B></TT> <TTCLASS="COMPUTEROUTPUT">present:                 yes design capacity:         43200 mWh last full capacity:      36640 mWh battery technology:      rechargeable design voltage:          10800 mV design capacity warning: 1832 mWh design capacity low:     200 mWh capacity granularity 1:  1 mWh capacity granularity 2:  1 mWh model number:            IBM-02K6897 serial number:            1133 battery type:            LION OEM info:                Panasonic</TT>       <TTCLASS="PROMPT">bash$ </TT><TTCLASS="USERINPUT"><B>fgrep Mem /proc/meminfo</B></TT> <TTCLASS="COMPUTEROUTPUT">MemTotal:       515216 kB MemFree:        266248 kB</TT>          </PRE></TD></TR></TABLE>      </P><P>Shell scripts may extract data from certain of the files in         <TTCLASS="FILENAME">/proc</TT>.	   <ANAME="AEN17612"HREF="#FTN.AEN17612">[1]</A></P><P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">   1&nbsp;FS=iso                       # ISO filesystem support in kernel?   2&nbsp;   3&nbsp;grep $FS /proc/filesystems   # iso9660</PRE></TD></TR></TABLE></P><P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">   1&nbsp;kernel_version=$( awk '{ print $3 }' /proc/version )</PRE></TD></TR></TABLE></P><P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">   1&nbsp;CPU=$( awk '/model name/ {print $5}' &#60; /proc/cpuinfo )   2&nbsp;   3&nbsp;if [ "$CPU" = "Pentium(R)" ]   4&nbsp;then   5&nbsp;  run_some_commands   6&nbsp;  ...   7&nbsp;else   8&nbsp;  run_different_commands   9&nbsp;  ...  10&nbsp;fi  11&nbsp;  12&nbsp;  13&nbsp;  14&nbsp;cpu_speed=$( fgrep "cpu MHz" /proc/cpuinfo | awk '{print $4}' )  15&nbsp;#  Current operating speed (in MHz) of the cpu on your machine.  16&nbsp;#  On a laptop this may vary, depending on use of battery  17&nbsp;#+ or AC power.</PRE></TD></TR></TABLE></P><P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">   1&nbsp;#!/bin/bash   2&nbsp;# get-commandline.sh   3&nbsp;# Get the command-line parameters of a process.   4&nbsp;   5&nbsp;OPTION=cmdline   6&nbsp;   7&nbsp;# Identify PID.   8&nbsp;pid=$( echo $(pidof "$1") | awk '{ print $1 }' )   9&nbsp;# Get only first            ^^^^^^^^^^^^^^^^^^ of multiple instances.  10&nbsp;  11&nbsp;echo  12&nbsp;echo "Process ID of (first instance of) "$1" = $pid"  13&nbsp;echo -n "Command-line arguments: "  14&nbsp;cat /proc/"$pid"/"$OPTION" | xargs -0 echo  15&nbsp;#   Formats output:        ^^^^^^^^^^^^^^^  16&nbsp;#   (Thanks, Han Holl, for the fixup!)  17&nbsp;  18&nbsp;echo; echo  19&nbsp;  20&nbsp;  21&nbsp;# For example:  22&nbsp;# sh get-commandline.sh xterm</PRE></TD></TR></TABLE></P><P>+</P><P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">   1&nbsp;devfile="/proc/bus/usb/devices"   2&nbsp;text="Spd"   3&nbsp;USB1="Spd=12"   4&nbsp;USB2="Spd=480"   5&nbsp;   6&nbsp;   7&nbsp;bus_speed=$(fgrep -m 1 "$text" $devfile | awk '{print $9}')   8&nbsp;#                 ^^^^ Stop after first match.   9&nbsp;  10&nbsp;if [ "$bus_speed" = "$USB1" ]  11&nbsp;then  12&nbsp;  echo "USB 1.1 port found."  13&nbsp;  # Do something appropriate for USB 1.1.  14&nbsp;fi</PRE></TD></TR></TABLE></P><DIVCLASS="NOTE"><TABLECLASS="NOTE"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -