轉自:https://www.cnblogs.com/likui360/p/6181927.html
auxv
/proc/[pid]/auxv
包含傳遞給進程的ELF
解釋器信息,格式是每一項都是一個unsigned long
長度的ID
加上一個unsigned long
長度的值。最后一項以連續的兩個0x00
開頭。舉例如下:
# hexdump -x /proc/2948/auxv 0000000 0021 0000 0000 0000 0000 1a82 7ffd 0000 0000010 0010 0000 0000 0000 dbf5 1fc9 0000 0000 0000020 0006 0000 0000 0000 1000 0000 0000 0000 0000030 0011 0000 0000 0000 0064 0000 0000 0000 0000040 0003 0000 0000 0000 2040 4326 7f4a 0000 0000050 0004 0000 0000 0000 0038 0000 0000 0000 0000060 0005 0000 0000 0000 0009 0000 0000 0000 0000070 0007 0000 0000 0000 f000 4303 7f4a 0000 0000080 0008 0000 0000 0000 0000 0000 0000 0000 0000090 0009 0000 0000 0000 8e67 4327 7f4a 0000 00000a0 000b 0000 0000 0000 0000 0000 0000 0000 00000b0 000c 0000 0000 0000 0000 0000 0000 0000 00000c0 000d 0000 0000 0000 0000 0000 0000 0000 00000d0 000e 0000 0000 0000 0000 0000 0000 0000 00000e0 0017 0000 0000 0000 0000 0000 0000 0000 00000f0 0019 0000 0000 0000 3de9 1a80 7ffd 0000 0000100 001f 0000 0000 0000 4fe5 1a80 7ffd 0000 0000110 000f 0000 0000 0000 3df9 1a80 7ffd 0000 0000120 0000 0000 0000 0000 0000 0000 0000 0000 0000130
解析這個文件可以參考這段代碼。
cmdline
/proc/[pid]/cmdline
是一個只讀文件,包含進程的完整命令行信息。如果這個進程是zombie
進程,則這個文件沒有任何內容。舉例如下:
# ps -ef | grep 2948 root 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/comm libvirtd
cwd
/proc/[pid]/cwd
是進程當前工作目錄的符號鏈接。舉例如下:
# ls -lt /proc/2948/cwd lrwxrwxrwx 1 root root 0 Nov 9 12:14 /proc/2948/cwd -> /
environ
/proc/[pid]/environ
顯示進程的環境變量。舉例如下:
# strings /proc/2948/environ LANG=POSIX LC_CTYPE=en_US.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin NOTIFY_SOCKET=@/org/freedesktop/systemd1/notify LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf LIBVIRTD_ARGS=--listen LIBVIRTD_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/fd total 0 lrwx------. 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/urandom lrwx------. 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