Linux中怎么通过PID号找到对应的进程名及所在目录

  有时候通过top命令可以看到有个别进程占用的内存比较大,但是top无法直接查看到进程名以及进程所在的目录。所以我们可以通过以下方法来定位。

  首先需要知道PID号,可以通过top命令获取。

  然后我们可以用ps看以下大致信息(ps出来的信息个人觉得比较乱,不是很方便查找)

[root@iZbp13806tx36fgoq7bzk1Z 28990]# ps -aux |grep -v grep|grep 28990
200      28990  0.7 14.0 5112056 1128224 ?     Ssl  Sep26 231:10 /opt/java/bin/java -server -Dinstall4j.jvmDir=/opt/java -Dexe4j.moduleName=/opt/sonatype/nexus/bin/nexus -XX:+UnlockDiagnosticVMOptions -Dinstall4j.launcherId=245 -Dinstall4j.swt=false -Di4jv=0 -Di4jv=0 -Di4jv=0 -Di4jv=0 -Di4jv=0 -Xms1200m -Xmx1200m -XX:MaxDirectMemorySize=2g -Djava.util.prefs.userRoot=/nexus-data/javaprefs -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:+LogVMOutput -XX:LogFile=../sonatype-work/nexus3/log/jvm.log -XX:-OmitStackTraceInFastThrow -Djava.net.preferIPv4Stack=true -Dkaraf.home=. -Dkaraf.base=. -Dkaraf.etc=etc/karaf -Djava.util.logging.config.file=etc/karaf/java.util.logging.properties -Dkaraf.data=../sonatype-work/nexus3 -Djava.io.tmpdir=../sonatype-work/nexus3/tmp -Dkaraf.startLocalConsole=false -Di4j.vpt=true -classpath /opt/sonatype/nexus/.install4j/i4jruntime.jar:/opt/sonatype/nexus/lib/boot/nexus-main.jar:/opt/sonatype/nexus/lib/boot/org.apache.karaf.main-4.0.9.jar:/opt/sonatype/nexus/lib/boot/org.osgi.core-6.0.0.jar:/opt/sonatype/nexus/lib/boot/org.apache.karaf.diagnostic.boot-4.0.9.jar:/opt/sonatype/nexus/lib/boot/org.apache.karaf.jaas.boot-4.0.9.jar com.install4j.runtime.launcher.UnixLauncher run 9d17dc87   org.sonatype.nexus.karaf.NexusMain
[root@iZbp13806tx36fgoq7bzk1Z 28990]# 
View Code

  通过上面的信息我们也可以找出这是一个java进程,在/opt/sonatype/nexus/bin/nexus目录下,当然可以有别的更简单直接的方法.

  得知PID之后可以直接进入/proc/28990

  这样就可以很直观的看出来。

posted @ 2017-10-18 14:30  StaryJie  阅读(120217)  评论(1编辑  收藏  举报