1

/etc/init.d/tomcatCentOS 6.3 マシンに Tomcat をインストールし、ファイルを作成して 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