web-dev-qa-db-ja.com

起動中にSystemctlサービスがタイムアウトしました

*.serviceを作成し、/etc/systemd/systemフォルダーに配置しました。

[Unit]
Description=WSO2 IoT Message broker

[Service]
Environment="Java_HOME=/usr/lib/jvm/Java-8-Oracle"
Type=forking
ExecStart=/home/ubuntu/wso2iot-3.1.0/bin/broker.sh

[Install]
WantedBy=multi-user.target

私はWSO2 IoT Serverのmudleの1つを実行することを望んでいますが、それは問題ではありません。

このbashスクリプトを手動で起動すると、特定のポートを取得するWebサーバーアプリケーションのようなものを実行するため、長時間読み込まれ、起動モードのままになります。

このサービスを次のように起動すると:

Sudo systemctl start myservice.service

時間がかかり、その後言う:Start operation timed out. Terminating.

手動で停止するまで、このサービスを永久に起動する必要があります。

サービス設定ファイルで見逃したものは何ですか?

5
Mr.D

サービススクリプトのTypesimpleまたはoneshotに設定します。開始されるシェルスクリプトの動作に応じて。

  • シェルスクリプトが無限ループを実行し、終了しない場合、Typesimpleに設定します
  • それ以外の場合は、Typeoneshotに設定します

変更を行った後、systemctl daemon-reloadを使用して構成を再読み込みし、サービスを開始します。

6
Thomas