知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

/proc/pid目录下文件的含义

发布时间:2014-09-05 15:22:44作者:知识屋

/proc/pid目录下文件的含义
 
attr:
进程的属性
   www.zhishiwu.com  
cmdline:
启动进程时执行的命令
 
cwd:
指向进程当前工作目录的软链
 
environ:
进程执行时使用的环境变量,文件内容使用null字节('/0')分隔,然后以null字节结束。因此获取进程使用的环境变量使用如下:
(cat /proc/pid/environ; echo) | tr '/000' '/n'
 
fd:
 此目录包含进程打开的所有文件,文件名为文件描述符,目录中每个软连接都会指向进程打开的实际文件。
   www.zhishiwu.com  
limits:
该文件存储了进程的软限制,硬限制等信息。
 
maps:
 
     address        perms offset  dev   inode   pathname
     08048000-08056000 r-xp 00000000 03:0c 64593   /usr/sbin/gpm
     4001f000-40135000 r-xp 00000000 03:0c 45494   /lib/libc-2.2.4.so
         * address:进程占用的地址空间。
         * perms:权限集
                 r = read
                 w = write
                 x = execute
                 s = shared
                 p = private (copy on write)
        * offset:文件偏移量。
        * dev:为设备(major:minor)
        * inode:设备上的inode。0为没有inode关联互内存区域,通常为:BSS(uninitialized data)
   www.zhishiwu.com  
root:
指向进程更目录的软链
 
smaps:
 
     This file shows memory consumption for each of the process's mappings.  For each of mappings there is a series of lines such as the following:
 
 08048000-080bc000 r-xp 00000000 03:02 13130   /bin/bash
 Size:      464 kB
 Rss:      424 kB
 Shared_Clean:      424 kB
 Shared_Dirty: 0 kB
 Private_Clean: 0 kB
 Private_Dirty: 0 kB
 
     The first of these lines shows the same information as is displayed for the mapping in /proc/[pid]/maps. The remaining lines show the size of
     the  mapping,  the amount of the mapping that is currently resident in RAM, the number of clean and dirty shared pages in the mapping, and the
     number of clean and dirty private pages in the mapping.
 
     This file is only present if the CONFIG_MMU kernel configuration option is enabled.
 
status:
 Name:  bash
 State:  S (sleeping)
 Tgid:  3515
 Pid:  3515
 PPid:  3452
 TracerPid:  0
 Uid:  1000  1000  1000  1000
 Gid:  100  100  100  100
 FDSize: 256
 Groups: 16 33 100
 VmPeak:     9136 kB
 VmSize:     7896 kB
 VmLck: 0 kB
 VmHWM:      7572 kB
 VmRSS:      6316 kB
 VmData:     5224 kB
 VmStk: 88 kB
 VmExe:       572 kB
 VmLib:      1708 kB
 VmPTE: 20 kB
 Threads:  1
 SigQ:  0/3067
 SigPnd: 0000000000000000
 ShdPnd: 0000000000000000
 SigBlk: 0000000000010000
 SigIgn: 0000000000384004
 SigCgt: 000000004b813efb
 CapInh: 0000000000000000
 CapPrm: 0000000000000000
 CapEff: 0000000000000000
 CapBnd: ffffffffffffffff
 Cpus_allowed:  00000001
 Cpus_allowed_list:  0
 Mems_allowed:  1
 Mems_allowed_list:  0
 voluntary_ctxt_switches:  150
 nonvoluntary_ctxt_switches:  545
 
     The fields are as follows:
 
     * Name: Command run by this process.
 
     * State: Current state of the process.  One of "R (running)", "S (sleeping)", "D (disk sleep)", "T (stopped)", "T (tracing  stop)",  "Z  (zom-
bie)", or "X (dead)".
 
     * Tgid: Thread group ID (i.e., Process ID).
 
     * Pid: Thread ID (see gettid(2)).
 
     * TracerPid: PID of process tracing this process (0 if not being traced).
 
     * Uid, Gid: Real, effective, saved set, and file system UIDs (GIDs).
 
     * FDSize: Number of file descriptor slots currently allocated.
 
     * Groups: Supplementary group list.
 
     * VmPeak: Peak virtual memory size.
 
     * VmSize: Virtual memory size.
 
     * VmLck: Locked memory size.
 
     * VmHWM: Peak resident set size ("high water mark").
 
     * VmRSS: Resident set size.
 
     * VmData, VmStk, VmExe: Size of data, stack, and text segments.
 
     * VmLib: Shared library code size.
 
     * VmPTE: Page table entries size (since Linux 2.6.10).
 
     * Threads: Number of threads in process containing this thread.
 
     * SigPnd, ShdPnd: Number of signals pending for thread and for process as a whole (see pthreads(7) and signal(7)).
 
     * SigBlk, SigIgn, SigCgt: Masks indicating signals being blocked, ignored, and caught (see signal(7)).
 
     * CapInh, CapPrm, CapEff: Masks of capabilities enabled in inheritable, permitted, and effective sets (see capabilities(7)).
 
     * CapBnd: Capability Bounding set (since kernel 2.6.26, see capabilities(7)).
 
     * Cpus_allowed: Mask of CPUs on which this process may run (since Linux 2.6.24, see cpuset(7)).
 
     * Cpus_allowed_list: Same as previous, but in "list format" (since Linux 2.6.26, see cpuset(7)).
 
     * Mems_allowed: Mask of memory nodes allowed to this process (since Linux 2.6.24, see cpuset(7)).
 
     * Mems_allowed_list: Same as previous, but in "list format" (since Linux 2.6.26, see cpuset(7)).
 
     * voluntary_context_switches, nonvoluntary_context_switches: Number of voluntary and involuntary context switches (since Linux 2.6.23).
 
task:
进程包含的线程,子目录名是线程的ID
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜