【问题标题】:Jetty doesn't show up in jcmd码头没有出现在 jcmd
【发布时间】:2018-08-11 17:16:24
【问题描述】:

当我启动 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 正在以用户“jetty”的身份运行。您登录的用户是否与用户“jetty”拥有相同的权限?
  • 你是对的,如果我将用户更改为“jetty”,我可以看到这个过程。
  • 奇怪,我认为root 应该可以看到所有的 java 进程。至少,jps 的行为方式是这样的……哦,好吧。
  • 完全取决于 linux 发行版以及系统管理员对相关系统应用的强化程序。

标签: java jetty jcmd


【解决方案1】:

听起来像是权限问题。从您的控制台摘录中,我看到“jetty”以用户身份运行,而您以 root 身份登录。

以“jetty”用户身份运行命令,你应该可以运行 jcmd。

【讨论】:

  • 任何线索为什么root 看不到所有的java 进程?
  • @AndersR.Bystrup ,取决于,我们在谈论什么 linux 发行版?并非所有人都以同样的方式对待root
  • 这个问题解释了 SELinux 允许你做些什么来限制 root 帐户:security.stackexchange.com/questions/7801/… 如果没有更多访问相关系统的权限,很难说出什么——如果有的话—— -硬化程序到位。关键是 root 在 *nix 中并没有那么特别。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-01
  • 2015-10-25
  • 2011-11-14
  • 2014-07-16
相关资源
最近更新 更多