PWDX查找程序执行路径

时间:2021-08-14 15:52:38

PWDX
通过PID号查找文件对应的启动目录

在linux 64位 5.4及SunOS 5.10上测试通过

  1. 通常的做法:
  2. [root@app1 bin]# ps -ef | grep java
  3. root      4993 4964 20 Oct22 ?        1-09:03:43 /usr/java/jdk1.6.0_07/bin/java
  4. -Dprogram.name=run.sh -Duser.timezone=GMT+08:00 -Djava.awt.headless=true
  5. -Dorg.jboss.mq.il.uil2.useServerHost=true
  6. -server -Xms3096m -Xmx3096m -Xmn1024m -XX:PermSize=1024m
  7. -XX:MaxPermSize=1024m -Xss256K -XX:+DisableExplicitGC
  8. -XX:SurvivorRatio=1 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
  9. -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection
  10. -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled
  11. -XX:LargePageSizeInBytes=128M -XX:+UseFastAccessorMethods
  12. -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=80
  13. -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+PrintClassHistogram
  14. -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC
  15. -Djava.net.preferIPv4Stack=true -Djava.endorsed.dirs=/app/Service/lib/endorsed
  16. -classpath /app/Service/bin/run.jar:/usr/java/jdk1.6.0_07/lib/tools.jar org.jboss.Main -b app1
  17. root     31446 29924 0 09:44 pts/2    00:00:00 grep java
  18. 输出目录非常长,要找到目录需要从其中找dirs或用命令过滤。
  19. 通过pwdx可直接找到程序的启动路径:
  20. [root@app1 bin]# jps -l
  21. 31480 sun.tools.jps.Jps
  22. 4993 org.jboss.Main
  23. [root@app1 bin]# jps -l | grep -v jps
  24. 4993 org.jboss.Main
  25. [root@app1 bin]# pwdx `jps -l | grep -v jps | awk '{print $1}'`
  26. 4993: /app/Service/bin
  27. [root@app1 bin]#