sytemdに登録するユニットについてご質問させて頂きます。
ユニットファイルの内容
$ cat tomcat.service
[Unit]
Description=Tomcat.Server
After=dbus.service network.target rsyslog.service
Requires=dbus.service network.target rsyslog.service
[Service]
Type=simple
ExecStart=/home/tomca/srv.sh start
ExecStop=/home/tomca/srv.sh stop
[Install]
WantedBy=multi-user.target
srv.shの抜粋
引数に応じて、start/stopする動作
case "$1" in
'start')
runuser -l tomcat -c "nohup /usr/local/tomcat/bin/startup.sh & > /dev/null"
echo " Tomcat Start"
;;
'stop')
runuser -l tomcat -c "nohup /usr/local/tomcat/bin/shutdown.sh > /dev/null"
echo " Tomcat stop"
;;
*)
# パラメータエラー
echo "Error"
exit 1
esac
/home/tomca/srv.shのstart/stopをそれぞれ引数とした場合
起動/停止はできました。
ですが、OS起動時にtomcatをstart後stopさせていました。
/var/log/messagesから確認しました。
これは、unitファイルの書き方が悪いのでしょうか。
ExecStartに記載された項目は起動時に実行されるプログラムだと思っております。
stopの動作も行ってしまい、とまってしまってます。
情報が少ないのですが、どなたかご存知でしょうか。
ご教示頂けますと幸いです。
現在は、srv.shをstartのみとstopのみで2つに分け登録しました。
が腑に落ちず…
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/01/25 04:03