追加読書

追加読書

AWS EC2インスタンスでインスタンスをホストbitcoindし、次のサービスファイルを使用してそれらをユーザーとして提供しています。

[Unit]
Description=Bitcoind

[Service]
Type=simple
ExecStart=/usr/local/bin/bitcoind
Restart=always

[Install]
WantedBy=default.target

一般的にすべてが大丈夫です。bitcoind時々、再起動がかなり発生することがわかりました。しかし、systemctlこれは少なくとも再起動できるという観点から別の話です。

これには、正常な部分と問題のある部分を示すログが含まれています。

Mar 02 10:39:46 ip- systemd[2751]: Started Bitcoind.
Mar 02 10:40:07 ip- systemd[2751]: bitcoind.service: Service hold-off time over, scheduling restart.
Mar 02 10:40:07 ip- systemd[2751]: Stopped Bitcoind.
Mar 02 10:40:07 ip- systemd[2751]: Started Bitcoind.
Mar 02 21:06:26 ip- systemd[2751]: Stopping Bitcoind...
Mar 02 21:06:28 ip- systemd[2751]: Stopped Bitcoind.
Mar 03 03:37:45 ip- systemd[28091]: Started Bitcoind.
Mar 03 03:59:15 ip- systemd[28091]: bitcoind.service: Service hold-off time over, scheduling restart.
Mar 03 03:59:15 ip- systemd[28091]: Stopped Bitcoind.
Mar 03 03:59:15 ip- systemd[28091]: Started Bitcoind.
Mar 03 04:01:09 ip- systemd[28091]: Started Bitcoind.
Mar 03 04:01:16 ip- systemd[28091]: Started Bitcoind.
Mar 03 04:01:22 ip- systemd[28091]: bitcoind.service: Service hold-off time over, scheduling restart.
Mar 03 04:01:22 ip- systemd[28091]: Stopped Bitcoind.
Mar 03 04:01:22 ip- systemd[28091]: Started Bitcoind.
Mar 03 04:14:35 ip- systemd[28091]: Stopping Bitcoind...
Mar 03 04:14:35 ip- systemd[28091]: Stopped Bitcoind.
Mar 03 04:15:44 ip- systemd[13180]: Started Bitcoind.

サービスが停止してもsystemctl再起動しない場合があります。インスタンスにSSHで接続した場合にのみ再起動し、「すべてが再び機能する」ように見えます。

ログを見ると、これが起こります。

Mar 02 21:06:26 ip- systemd[2751]: Stopping Bitcoind...
Mar 02 21:06:28 ip- systemd[2751]: Stopped Bitcoind.
Mar 03 03:37:45 ip- systemd[28091]: Started Bitcoind.

明らかにsystemctlstopを見つけましたが、bitcoindインスタンスにsshを接続するまで再起動されます。

この問題をさらに解決する方法についてのアドバイスはありますか?ご協力いただきありがとうございます。できるだけ多くの情報をご提供いたします。

ベストアンサー1

私はそれをユーザーサービスとして持っています。 [...] インスタンスに SSH で接続した場合のみ再起動します。 [...]

systemdの各ユーザーインスタンスは、1つ以上のアクティブなログインセッションがある場合にのみ実行されます。ログに示すように、3つの異なるプロセスIDを持つ3つのインスタンスがあります。最後のログインセッションが停止した場合は、systemd-logindsystemd の各ユーザーインスタンスを停止し、次のログインセッションの開始時に新しいインスタンスを起動します。もちろん、ホスティングサービスはサービスマネージャなしでは実行されません。

enable-lingerこのコマンドのサブコマンドを使用してこの設定を変更できますloginctl

追加読書

おすすめ記事