我有这个~/.config/systemd/user/weechat.service
systemd 服务,运行良好,但在系统升级后,该进程被终止,而以前没有这样做。当与 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
。
哪个配置文件/进程/守护进程在注销后发出终止命令?
答案1
您需要告诉 systemd “逗留”您的用户:
# loginctl enable-linger <user>
这将导致您的用户服务在启动时启动,并在您注销后登录以保留它们(例如关闭您的 ssh 会话)。