再起動時に画面を実行するようにsystemdサービスを設定中に問題が発生しました。

再起動時に画面を実行するようにsystemdサービスを設定中に問題が発生しました。

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」を追加すると、画面は開いたままになります。

おすすめ記事