1

我在我的 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 工作?

4

0 回答 0