ユーザーシステムサービスを継続的に作成します。

ユーザーシステムサービスを継続的に作成します。

私はこの~/.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セッションを閉じる)。

おすすめ記事