ps -ef 两个pid_Linux /proc/$pid部分内容详解

e77e3b301caf8e1928cfc6c8b044b235.gif嵌入式linux QQ交流群:175159209,欢迎爱好者加入交流技术问题!

auxv

/proc/[pid]/auxv包含传递给进程的ELF解释器信息,格式是每一项都是一个unsigned long长度的ID加上一个unsigned long长度的值。最后一项以连续的两个0x00开头。举例如下:

# hexdump -x /proc/2948/auxv0000000    0021    0000    0000 0000 0000 1a82 7ffd 00000000010 0010 0000 0000 0000 dbf5 1fc9 0000 00000000020 0006 0000 0000 0000 1000 0000 0000 00000000030 0011 0000 0000 0000 0064 0000 0000 00000000040 0003 0000 0000 0000 2040 4326 7f4a 00000000050 0004 0000 0000 0000 0038 0000 0000 00000000060 0005 0000 0000 0000 0009 0000 0000 00000000070 0007 0000 0000 0000 f000 4303 7f4a 00000000080 0008 0000 0000 0000 0000 0000 0000 00000000090 0009 0000 0000 0000 8e67 4327 7f4a 000000000a0 000b 0000 0000 0000 0000 0000 0000 000000000b0 000c 0000 0000 0000 0000 0000 0000 000000000c0 000d 0000 0000 0000 0000 0000 0000 000000000d0 000e 0000 0000 0000 0000 0000 0000 000000000e0 0017 0000 0000 0000 0000 0000 0000 000000000f0 0019 0000 0000 0000 3de9 1a80 7ffd 00000000100 001f 0000 0000 0000 4fe5 1a80 7ffd 00000000110 000f 0000 0000 0000 3df9 1a80 7ffd 00000000120 0000 0000 0000 0000 0000 0000 0000 00000000130

解析这个文件可以参考这段代码。

cmdline

/proc/[pid]/cmdline是一个只读文件,包含进程的完整命令行信息。如果这个进程是zombie进程,则这个文件没有任何内容。举例如下:

# ps -ef | grep 2948root       2948      1  0 Nov05 ? 00:00:04 /usr/sbin/libvirtd --listen# cat /proc/2948/cmdline
/usr/sbin/libvirtd--listen

comm

/proc/[pid]/comm包含进程的命令名。举例如下:

# cat /proc/2948/commlibvirtd

cwd

/proc/[pid]/cwd是进程当前工作目录的符号链接。举例如下:

# ls -lt /proc/2948/cwdlrwxrwxrwx 1 root root 0 Nov 9 12:14 /proc/2948/cwd -> /

environ

/proc/[pid]/environ显示进程的环境变量。举例如下:

# strings /proc/2948/environLANG=POSIXLC_CTYPE=en_US.UTF-8PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binNOTIFY_SOCKET=@/org/freedesktop/systemd1/notifyLIBVIRTD_CONFIG=/etc/libvirt/libvirtd.confLIBVIRTD_ARGS=--listenLIBVIRTD_NOFILES_LIMIT=2048

exe

/proc/[pid]/exe为实际运行程序的符号链接。举例如下:

# ls -lt /proc/2948/exe
lrwxrwxrwx 1 root root 0 Nov 5 13:04 /proc/2948/exe -> /usr/sbin/libvirtd

fd

/proc/[pid]/fd是一个目录,包含进程打开文件的情况。举例如下:

# ls -lt /proc/3801/fdtotal 0lrwx------. 1 root root 64 Apr 18 16:51 0 -> socket:[37445]lrwx------. 1 root root 64 Apr 18 16:51 1 -> socket:[37446]lrwx------. 1 root root 64 Apr 18 16:51 10 -> socket:[31729]lrwx------. 1 root root 64 Apr 18 16:51 11 -> socket:[34562]lrwx------. 1 root root 64 Apr 18 16:51 12 -> socket:[39978]lrwx------. 1 root root 64 Apr 18 16:51 13 -> socket:[34574]lrwx------. 1 root root 64 Apr 18 16:51 14 -> socket:[39137]lrwx------. 1 root root 64 Apr 18 16:51 15 -> socket:[39208]lrwx------. 1 root root 64 Apr 18 16:51 16 -> socket:[39221]lrwx------. 1 root root 64 Apr 18 16:51 17 -> socket:[41080]lrwx------. 1 root root 64 Apr 18 16:51 18 -> socket:[40014]lrwx------. 1 root root 64 Apr 18 16:51 19 -> socket:[34617]lrwx------. 1 root root 64 Apr 18 16:51 20 -> socket:[34620]lrwx------. 1 root root 64 Apr 18 16:51 23 -> socket:[42357]lr-x------. 1 root root 64 Apr 18 16:51 3 -> /dev/urandomlrwx------. 1 root root 64 Apr 18 16:51 4 -> socket:[37468]lrwx------. 1 root root 64 Apr 18 16:51 5 -> socket:[37471]lrwx------. 1 root root 64 Apr 18 16:51 6 -> socket:[289532]lrwx------. 1 root root 64 Apr 18 16
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值