我有一个正在通过unix(Solaris 9)中的脚本执行的类。在脚本内部,类正在运行:
java -cp $CLASSPATH myPackage.component.MyMainClass $PROPERTIES_PATH/myMainClassProperties.properties
需要监视该shell以查看它是否正常工作或失败,并且它还将与不同的参数文件并行运行。所以,我的问题是:
myPackage.component.MyMainClass
?当我平行地说,我指的是:
java -cp $CLASSPATH myPackage.component.MyMainClass $PROPERTIES_PATH/myMainClassProperties.properties
并在另一个窗口/会话/作业中
java -cp $CLASSPATH myPackage.component.MyMainClass $PROPERTIES_PATH/mySomeOtherProperties.properties
**当我这样说时,是因为top显示的内容如下:
PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND 8545 batman 47 4 10 190M 112M sleep 0:04:00 0.07% java 9022 joker 91 4 10 286M 211M sleep 0:01:00 0.09% java
答案 0 :(得分:1)
您可以让top
告诉您完整的命令,其中包含您传递给VM
的任何参数。
同样ps
也会给你完整的命令(带有匹配的参数)。
在我的debian中,我可以使用c
切换切换显示的命令(从顶部开始并点击c
直到它显示整个命令)
对于ps
我单独使用参数-ef
(但-f
)应该针对这种情况。
您可能需要阅读man ps
和man top
答案 1 :(得分:1)
可以使用ptree | grep java
或ptree | grep MyMainClass
它列出了正在执行的进程的树以及在那里运行的命令,例如:
13456 ksh 123476 java -cp java -cp /classpath/fullpath myPackage.component.MyMainClass /full/properties/path/myMainClassProperties.properties
第一行是shell脚本,在其中(下一行)调用java jar。这适用于Solaris 9。
感谢@ Angelo-Neuschitzer的领导。