마지막 SFTP/SSH 세션을 닫으면 Systemd 서비스가 중지됩니다.

마지막 SFTP/SSH 세션을 닫으면 Systemd 서비스가 중지됩니다.

최근에 가상 머신에서 새 머신으로 서버를 옮겼습니다.

그 이후로 서비스가 실행되는 사용자로 로그인된 sftp/ssh에서 마지막 열린 세션을 닫을 때 Teamspeak 서버가 중지되는(그리고 내가 구성한 방식 때문에 자동으로 다시 시작되는) 설명할 수 없는 이벤트가 가끔 발생합니다.

따라서 기본적으로 내 Linux는 마지막 열린 SSH 연결을 닫을 때 내 TS3 서버에 종료 신호를 보냅니다. 충돌 시 저널ctl 로그는 다음과 같습니다.

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 구성을 사용합니다.

[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>

관련 정보