当我启动 jcmd 时,它会显示除 Jetty 之外的所有 java 进程,为什么?
JCmd:
[root@test_app_bm 2015_06_01_18_19_47_13098]# /usr/java/latest/bin/jcmd
15152 sun.tools.jcmd.JCmd
21785 DummyTrkPartner.jar
辅助:
[root@test_app_bm 2015_06_01_18_19_47_13098]# ps aux | grep java
jetty 13098 13.8 74.4 7048352 2957192 ? Sl 18:19 4:29 /usr/java/latest/bin/java -Xmx1800m -Xms256m -XX:+UseG1GC -Dhttps.proxyHost=1.1.1.1 -Dhttps.proxyPort=3128 -Dhttp.proxyHost=1.1.1.1 -Dhttp.proxyPort=3128 -Dhttp.nonProxyHosts=localhost -Djetty.logs=/usr/local/jetty/logs -Djetty.home=/usr/local/jetty -Djetty.base=/usr/local/jetty -Djava.io.tmpdir=/usr/local/jetty/work -jar /usr/local/jetty/start.jar jetty.state=/usr/local/jetty/work/jetty.state jetty-logging.xml jetty-started.xml start-log-file=/usr/local/jetty/logs/start.log
root 15165 0.0 0.0 103244 864 pts/0 S+ 18:52 0:00 grep java
root 21785 0.1 2.4 3541704 96728 ? Sl Apr29 48:52 java -jar DummyTrkPartner.jar
[root@test_app_bm 2015_06_01_18_19_47_13098]#
听起来像是权限问题。从您的控制台摘录中,我看到“jetty”以用户身份运行,而您以 root 身份登录。
以用户“jetty”运行命令,您应该能够运行jcmd。
检查您的/tmp:
drwxr-xr-x. 2 lace lace 4096 Oct 9 2021 /tmp/hsperfdata_lace/
drwxr-xr-x 2 reguser reguser 4096 Feb 22 16:40 /tmp/hsperfdata_nobody/
^^^^^^^ ^^^^^^^ MISMATCH ^^^^^^
drwxr-xr-x. 2 root root 4096 May 11 18:22 /tmp/hsperfdata_root/
每个 /tmp/hsperfdata_XXX 目录应由用户 XXX 拥有。