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 09:44 pts/2    00:00:00 grep java  
  18.    
  19. 输出目录非常长,要找到目录需要从其中找dirs或用命令过滤。  
  20.    
  21. 通过pwdx可直接找到程序的启动路径:  
  22. [root@app1 bin]# jps -l  
  23. 31480 sun.tools.jps.Jps  
  24. 4993 org.jboss.Main  
  25. [root@app1 bin]# jps -l | grep -v jps  
  26. 4993 org.jboss.Main  
  27. [root@app1 bin]# pwdx `jps -l | grep -v jps | awk '{print $1}'`  
  28. 4993: /app/Service/bin  
  29. [root@app1 bin]