나는 이 ~/.config/systemd/user/weechat.service
시스템 서비스를 가지고 있는데, 잘 돌아가고 있지만 시스템 업그레이드 후에 프로세스가 종료되어 이전에는 발생하지 않았습니다. SSH 세션 연결이 끊어지면 프로세스가 즉시 종료됩니다.
[Unit]
Description=Weechat IRC Client (in tmux)
After=network-online.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/tmux -2 -u new-session -d -s irc /usr/bin/weechat
ExecStop=/usr/bin/tmux kill-session -t irc
[Install]
WantedBy=default.target
상태:
% systemctl --user status weechat.service
● weechat.service - Weechat IRC Client (in tmux)
Loaded: loaded (/home/<user>/.config/systemd/user/weechat.service; enabled; vendor preset: enabled)
Active: active (exited) since Thu 2017-10-05 22:54:54 EEST; 18h ago
Process: 504 ExecStart=/usr/bin/tmux -2 -u new-session -d -s irc /usr/bin/weechat (code=exited, status=0/SUCCESS)
Main PID: 504 (code=exited, status=0/SUCCESS)
CGroup: /user.slice/user-1000.slice/[email protected]/weechat.service
├─506 /usr/bin/tmux -2 -u new-session -d -s irc /usr/bin/weechat
└─507 /usr/bin/weechat
/etc/systemd/logind.conf
:
[Login]
KillUserProcesses=no
시스템을 부팅하고 재부팅을 시도했습니다 systemd-logind.service
.
로그아웃 후 kill 명령을 실행하는 프로필/프로세스/데몬은 무엇입니까?
답변1
사용자에게 "대기"하도록 systemd에 지시해야 합니다.
# loginctl enable-linger <user>
이렇게 하면 부팅 시 사용자 서비스가 시작되고, 로그아웃한 후에도 서비스를 유지하기 위해 로그인합니다(예: SSH 세션 닫기).