最後のSFTP / SSHセッションを閉じるとSystemdサービスが停止する

最後のSFTP / SSHセッションを閉じるとSystemdサービスが停止する

最近、サーバーを仮想マシンから新しいマシンに移動しました。

それ以来、サービスが実行されているユーザーとしてログインした sftp / ssh からの最後の開いているセッションを閉じると、Teamspeak Server が停止する (そして、そのように設定したため自動的に再起動する) という不可解なイベントが時々発生します。

つまり、基本的に私の Linux は、最後に開いている SSH 接続を閉じるときに、TS3 サーバーに kill 信号を送信します。クラッシュ時の journalctl ログは次のとおりです。

Jun 30 10:48:03 ubuntu-server ts3server_startscript.sh[7505]: Starting the TeamSpeak 3 server
Jun 30 10:51:30 ubuntu-server systemd[1]: teamspeak.service: Control process exited, code=exited status=203
Jun 30 10:51:30 ubuntu-server systemd[1]: teamspeak.service: Unit entered failed state.
Jun 30 10:51:30 ubuntu-server systemd[1]: teamspeak.service: Failed with result 'exit-code'.
Jun 30 10:51:33 ubuntu-server systemd[1]: teamspeak.service: Service hold-off time over, scheduling restart.

私は次の SystemD Config を使用します。

[Unit]
Description=TeamSpeak 3 Server
After=network.target

[Service]
WorkingDirectory=/home/teamspeak/teamspeak3-server_linux_amd64/
User=teamspeak
Group=teamspeak
Type=forking
ExecStart=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/home/teamspeak/teamspeak3-server_inux_amd64/ts3server_startscript.sh stop
PIDFile=/home/teamspeak/teamspeak3-server_linux_amd64/ts3server.pid
RestartSec=3
Restart=always

[Install]
WantedBy=multi-user.target

何かアイデアはありますか?説明できません。

答え1

説明されているように、長引くことと関係がある可能性が高いここ

解決:

sudo loginctl enable-linger <username>

関連情報