*.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.
手動で停止するまで、このサービスを永久に起動する必要があります。
サービス設定ファイルで見逃したものは何ですか?
サービススクリプトのType
をsimple
またはoneshot
に設定します。開始されるシェルスクリプトの動作に応じて。
Type
をsimple
に設定しますType
をoneshot
に設定します変更を行った後、systemctl daemon-reload
を使用して構成を再読み込みし、サービスを開始します。