曲径通幽论坛

标题: pgrep -- 查看进程 [打印本页]

作者: beyes    时间: 2011-8-5 09:46
标题: pgrep -- 查看进程
pgrep 命令可以遍历当前正在运行的所有进程,并根据参数列出一些进程信息给你。

比如:
[beyes@beyes elf]$ pgrep -u root sshd
1070
上面列出了 sshd 这个守护进程的 PID。-u 选项是有效 PID,即 euid ,表明运行当前进程的有效用户是谁。如果命令后面不指定 sshd,那么将列出所有属于指定 euid  的进程 PID 。默认是一行一个的输出,如果觉得这种显示效果太长,那么可以使用 -d 选项来指定一个分隔符来隔开这些 PID,如:
[beyes@beyes elf]$ pgrep -u root -d " "
1 2 3 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 32 33 34 35 36 37 39 371 375 405 406 433 442 456 527 528 652 658 659 679 703 705 721 724 726 729 734 736 746 748 754 763 812 848 856 917 939 975 1040 1054 1064 1068 1070 1094 1102 1106 1114 1115 1116 1117 1118 1127 1259 1261 1265 1317 1319 1689 1756 1794 1850 1890 1968

-l 选项可以同时列出进程名和进程ID:
[beyes@beyes elf]$ pgrep -l sshd
1070 sshd

一个进程可能会派生出许多个子进程,比如 httpd,如:
[root@beyes elf]# pgrep -l httpd
2089 httpd
2091 httpd
2092 httpd
2093 httpd
2094 httpd
2095 httpd
2096 httpd
2097 httpd
2098 httpd
这时如果你想只列出最早出现的那个进程 PID 或 最近出现的那个进程 PID,则可以分别使用 -o (oldest) 或 -n (newest) 选项:
[root@beyes elf]# pgrep -lo httpd
2089 httpd
[root@beyes elf]# pgrep -ln httpd
2098 httpd

如果打算从 /proc 里查看某个进程的映射信息,可以用该命令方便定位,如:
[beyes@beyes elf]$ cat /proc/`pgrep top`/maps
00bbc000-00bbd000 r-xp 00000000 00:00 0          [vdso]
00de8000-00df3000 r-xp 00000000 fd:01 1966818    /lib/libnss_files-2.13.90.so
00df3000-00df4000 r--p 0000a000 fd:01 1966818    /lib/libnss_files-2.13.90.so
00df4000-00df5000 rw-p 0000b000 fd:01 1966818    /lib/libnss_files-2.13.90.so
08048000-08055000 r-xp 00000000 fd:01 683821     /usr/bin/top
08055000-08056000 rw-p 0000d000 fd:01 683821     /usr/bin/top
08056000-08059000 rw-p 00000000 00:00 0
09dca000-09e0c000 rw-p 00000000 00:00 0          [heap]
46a36000-46a55000 r-xp 00000000 fd:01 1974728    /lib/ld-2.13.90.so
46a55000-46a56000 r--p 0001f000 fd:01 1974728    /lib/ld-2.13.90.so
46a56000-46a57000 rw-p 00020000 fd:01 1974728    /lib/ld-2.13.90.so
46a59000-46be1000 r-xp 00000000 fd:01 1975148    /lib/libc-2.13.90.so
46be1000-46be3000 r--p 00188000 fd:01 1975148    /lib/libc-2.13.90.so
46be3000-46be4000 rw-p 0018a000 fd:01 1975148    /lib/libc-2.13.90.so
46be4000-46be7000 rw-p 00000000 00:00 0
46c06000-46c09000 r-xp 00000000 fd:01 1975151    /lib/libdl-2.13.90.so
46c09000-46c0a000 r--p 00002000 fd:01 1975151    /lib/libdl-2.13.90.so
46c0a000-46c0b000 rw-p 00003000 fd:01 1975151    /lib/libdl-2.13.90.so
46c0d000-46c1a000 r-xp 00000000 fd:01 1975193    /lib/libproc-3.2.8.so
46c1a000-46c1b000 rw-p 0000d000 fd:01 1975193    /lib/libproc-3.2.8.so
46c1b000-46c2e000 rw-p 00000000 00:00 0
46d0a000-46d3b000 r-xp 00000000 fd:01 1975180    /lib/libncursesw.so.5.8
46d3b000-46d3c000 rw-p 00030000 fd:01 1975180    /lib/libncursesw.so.5.8
4841e000-4843a000 r-xp 00000000 fd:01 1975179    /lib/libtinfo.so.5.8
4843a000-4843d000 rw-p 0001b000 fd:01 1975179    /lib/libtinfo.so.5.8
b7839000-b783b000 rw-p 00000000 00:00 0
b7852000-b7854000 rw-p 00000000 00:00 0
bfb41000-bfb62000 rw-p 00000000 00:00 0          [stack]





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2