我在我的CentOS 6.3机器上安装了Tomcat,并通过创建/etc/init.d/tomcat
文件使其成为一项服务。
它适用于基本的启动,停止,重启和状态功能。
我经常在服务器上使用jconsole,所以我认为将这个功能构建到服务中是很好的(通过运行service tomcat monitor
)而不必运行ps aux|grep java
然后运行{{ 1}}。
这是我的服务脚本(只是监视器部分):
jconsole <Java PID>
当我直接运行bash脚本时,监视器部分内部的所有内容都可以工作,但是当服务调用它时,它只是挂在jconsole行并且什么都不做。
当我运行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
;;
时,我确实得到了正确的路径输出,所以我知道路径是正确的。
从服务脚本调用时,有没有办法让jconsole工作?