web-dev-qa-db-ja.com

ローカル(sshではない)セッションからログアウトした後もプロセスを存続させます

マシンからログアウトした後もサーバープロセスを実行し続けることはできますか?

通常、私はscreentmux、またはNohupを使用します。これらはすべて、sshを使用していないが、ローカルでマシンを使用している場合に機能します。 (Gnomeデスクトップも実行しています。)

それで、ローカルでマシンにログインしているときにサーバープロセスを開始する方法はありますか?

3
Leif Andersen

Systemd 230の時点で、KillUserProcessesはデフォルトで有効になっています。

https://github.com/systemd/systemd/commit/97e5530cf2076a2b4fc55755917262607aaa6338

これは、/etc/systemd/logind.confを編集して変更できます。例: KillUserProcesses=noを設定してこの動作をグローバルに無効にするか、KillExcludeUsers=<your-username>を設定してユーザー名をこの動作から除外します。

または、systemd-run --scope --user <executable>を使用してサーバープロセスを開始することにより、アドホックベースでこれを回避できます。これについての詳細は、 systemd-run(1) の下部にあるExample 5. Start screen as a user serviceにあります。

2
jjlin