我在我的 CentOS 6.3 机器上安装了 Tomcat,并通过创建/etc/init.d/tomcat
文件使其成为服务。它适用于基本的启动、停止、重启和状态功能。
我经常在服务器上使用 jconsole,所以我认为将这个功能构建到服务中(通过运行service tomcat monitor
)而不是必须运行ps aux|grep java
然后运行jconsole <Java PID>
.
这是我的服务脚本(只是监控部分):
monitor)
# Check for Tomcat PID (greps are separated to prevent returning the single grep PID)
FOUND_PID=$(ps aux |grep $JAVA_HOME/bin/ | grep java |awk -F' ' '{print $2}')
if [[ $FOUND_PID ]]
then
echo -e $JAVA_HOME/bin/jconsole $FOUND_PID
$JAVA_HOME/bin/jconsole $FOUND_PID
else
echo -e "Failed: Tomcat is not currently running";
fi
;;
当我直接运行 bash 脚本时,监视器部分中的所有内容都可以正常工作,但是当服务调用它时,它只是挂在 jconsole 行并且不执行任何操作。
当我运行时service tomcat monitor
,我确实得到了正确的路径输出,所以我知道路径是正确的。
从服务脚本调用时,有没有办法让 jconsole 工作?