SSH経由でのみアクセスできるCentOS 7を実行しているリモートサーバーがあります。 ISPが再起動された後も、両方のJavaサーバーが常に実行されることを望みます。
そこで、画面から2つのJavaサーバーを起動するシステムサービスを作成してみました。サービスを開始するとエラーメッセージは表示されませんが、すぐに消えます。 (systemctl status -l blogpatcher.service)
* blogpatcher.service - Start blogpatcher servers
Loaded: loaded (/etc/systemd/system/blogpatcher.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Sat 2020-02-08 04:19:09 EST; 7s ago
Process: 22388 ExecStart=/usr/bin/bash /home/blogpatc/script/blogpatcher.sh (code=exited, status=0/SUCCESS)
Main PID: 22388 (code=exited, status=0/SUCCESS)
これは blogpatcher.service ファイルです:
# vi /etc/systemd/system/blogpatcher.service
[Unit]
Description=Start blogpatcher servers
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/bash /home/blogpatc/script/blogpatcher.sh
TimeoutStartSec=90
[Install]
WantedBy=default.target
以下は、サービスが実行されるスクリプトファイルです。
# vi /var/tmp/test_script.sh
#!/bin/bash
screen -dmS syn bash -c 'cd /home/blogpatc/server/;java -cp bloghelper_artifact_main.jar com.aperico.bloghelper.server.ThesaurusServer;exec bash'
SSHコンソールでスクリプトファイルを実行すると、期待どおりに動作しますが、エラーメッセージがないため、少し混乱し、問題が何であるかを知っている人がいるかどうか疑問に思います.
ベストアンサー1
[Service]セクションの下に「RemainAfterExit = yes」を追加すると、画面は開いたままになります。