如何从 ps -ef 的输出中获取进程 ID |格雷普"雄猫"?



我想杀死雄猫进程,因此使用了命令 -

ps -ef | grep 'tomcat'

它返回大输出,在那里我可以看到 3 个 pid -

oracle    76220 218600  3 May16 pts/2    00:40:14 /usr/bin/java -Djava.util.logging.config.file=/home/oracle/apache-tomcat-8.5.11/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms1024m -Xmx10240m -XX:MaxMetaspaceSize=512m -Djava.awt.headless=true -DcoreJMX=true -DqueryJMX=true -javaagent:/home/oracle/Jacoco/jacoco-0.7.5.201505241946/lib/jacocoagent.jar=destfile=/home/oracle/Jacoco/jacoco141.exec,append=false,includes=com.eqtechnologic.* -verbose:gc -Xloggc:/home/oracle/apache-tomcat-8.5.11/logs/gcLogs.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /home/oracle/apache-tomcat-8.5.11/bin/bootstrap.jar:/home/oracle/apache-tomcat-8.5.11/bin/tomcat-juli.jar -Dcatalina.base=/home/oracle/apache-tomcat-8.5.11 -Dcatalina.home=/home/oracle/apache-tomcat-8.5.11 -Djava.io.tmpdir=/home/oracle/apache-tomcat-8.5.11/temp org.apache.catalina.startup.Bootstrap start
oracle   138680 219157  0 15:46 pts/4    00:00:00 grep --color=auto tomcat
oracle   187823 161915  1 May16 pts/1    00:29:01 //bin/java -Djava.util.logging.config.file=/home/oracle/apache-tomcat-8.5.11/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms1024m -Xmx10240m -XX:MaxMetaspaceSize=512m -Djava.awt.headless=true -DcoreJMX=true -DqueryJMX=true -javaagent:/home/oracle/Jacoco/jacoco-0.7.5.201505241946/lib/jacocoagent.jar=destfile=/home/oracle/Jacoco/jacoco141.exec,append=false,includes=com.eqtechnologic.* -verbose:gc -Xloggc:/home/oracle/apache-tomcat-8.5.11/logs/gcLogs.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /home/oracle/apache-tomcat-8.5.11/bin/bootstrap.jar:/home/oracle/apache-tomcat-8.5.11/bin/tomcat-juli.jar -Dcatalina.base=/home/oracle/apache-tomcat-8.5.11 -Dcatalina.home=/home/oracle/apache-tomcat-8.5.11 -Djava.io.tmpdir=/home/oracle/apache-tomcat-8.5.11/temp org.apache.catalina.startup.Bootstrap start

但是我很困惑哪一个是雄猫的pid。有人可以帮助我了解如何阅读此输出,这将有助于我获得雄猫的pid吗?

如果我猜错了,138680是雄猫的pid吗?

76220 和 187823 是 tomcat 服务器的 PID。您可以使用以下命令检查主 tomcat 进程。

pgrep -fl catalina

或者,更简单的方法是使用 SDK 中的jcmd命令,它将直接打印出所有 JVM 进程的进程 ID,例如:

20720 jdk.jcmd/sun.tools.jcmd.JCmd
13066 org.apache.catalina.startup.Bootstrap start

13066 是此示例中 tomcat 的进程 ID。

要进一步确认此进程确实是您要杀死的tomcat进程,您可以通过以下方式进一步检查其主类和用于启动此过程的JVM参数:

$ jcmd 13066 VM.command_line 

最新更新