在AIX系统中查找后台程序的全路径(ps -ef)
在AIX系统中查找后台程序: ps -ef|grep xxx
可是有时用ps -ef看到的后台程序却没有全路径,只有程序名(泪奔)
test:/usr/bin>ps -ef|grep -i loop
UID PID PPID C STIME TTY TIME CMD
root 275134 1 0 10:28:44 – 0:00 sh — loop_test.sh
只告诉我loop_test.sh,于是which、whereis、locate,就差在根目录下find了
那如何获取进程的全路径进而找到该程序呢?
so easy!!!
其实每个进程启动之后在 /proc 下面有一个于pid对应的路径
PID就是其进程号
我们可以看到loop_test.sh的进程号是275134
到/proc/275134 下,ll(或者ls -l)会看到:
JXBI_APP4:/proc/275134>ll
total 40
-rw——- 1 test test 0 Mar 20 10:37 as
-r——– 1 test test 128 Mar 20 10:37 cred
–w——- 1 test test 0 Mar 20 10:37 ctl
lr-x—— 10 test test 0 Mar 20 10:37 cwd@ -> /data1/src/test//
dr-x—— 1 test test 0 Mar 20 10:37 fd/
dr-xr-xr-x 1 test test 0 Mar 20 10:37 lwp/
-r——– 1 test test 0 Mar 20 10:37 map
dr-x—— 1 test test 0 Mar 20 10:37 object/
-r–r–r– 1 test test 448 Mar 20 10:37 psinfo
-r——– 1 test test 12288 Mar 20 10:37 sigact
-r——– 1 test test 1520 Mar 20 10:37 status
-r–r–r– 1 test test 0 Mar 20 10:37 sysent
其中的cwd@,就是你要查找的进程所在路径了。
即全路径为:/data1/src/test/loop_test.sh
大功告成,打完收工!
参考资料:在linux环境下如何查看进程的全路径
http://www.blogjava.net/kxx129/archive/2014/03/19/411230.html