tomcat7
/etc/init.d/には、tomcatユーザーの下で私のアプリケーションサーバー(tomcat)を起動および停止する簡単なサービススクリプトがあります。 RHEL6から。
#!/bin/bash
# description: Tomcat Start Stop
# processname: tomcat
# chkconfig: 234 20 80
CATALINA_HOME=/usr/local/www/tomcat-7.0.54
case $1 in
start)
/bin/su tomcat $CATALINA_HOME/bin/startup.sh
;;
stop)
/bin/su tomcat $CATALINA_HOME/bin/shutdown.sh 30
;;
esac
exit 0
良い結果。というスクリプトをstartup.sh
呼び出します。これは、アプリケーションサーバーに付属する事前に作成されたスクリプトです。shutdown.sh
catalina.sh
catalina.sh
たとえば、次のように直接使用できます。./catalina.sh stop 30 -force
これにより、待機時間を30秒に指定し、プロセスがまだ終了していない場合はkill -9を実行できます。ただし、tomcat7
サービススクリプトで機能するように変数を取得することはできません。私がそれを次のように変更した場合:
stop)
/bin/su tomcat $CATALINA_HOME/bin/catalina.sh stop 30 -force
エラーが発生します。
[root@543917-web1 bin]# service tomcat7 stop
/bin/su: invalid option -- 'o'
catalina.shスクリプトを変更せずに3つのパラメータを渡すことはできますか?
ティア
答え1
あなたはそれを使用することができます数そして-c
:
/bin/su tomcat -c "$CATALINA_HOME/bin/catalina.sh stop 30 -force"
su
マニュアルページから:
-c, --command=COMMAND
pass a single COMMAND to the shell with -c