Ubuntu

Ubuntu

コンソールを介して画面からプロセスが開始されると、これらのプロセスはログアウト時に終了します。

login: root
password: ***

次に、いくつかのコマンドを実行します。

screen -d -S sample -m bash -c '/hom/app/server start'

その後、サービスの実行が開始され、画面にプロセスが表示されます。

screen -ls

# output
# There are screens on:
#   1805.sample (01/05/24 12:13:18) (Detached)
# 1 Sockets in /run/screen/S-root.

しかし、ログアウトすると、スクリーンセッションも一緒に破壊されます。

root(RootLoginPermitを使用)を介して同じシステムで同じ操作を実行すると、sshすべてがログアウト後も実行されます。

Ubuntu 20.04と22.04で同じタスクをテストしました。

コンソールセッションから起動すると、Ubuntu 20.04でも問題なく動作します。

しかし、Ubuntu 22.04やコンソールでは機能しません。

これはDebian(bulseyeとbookwormの最新アップデートでテスト済み)とUbuntu(22.04でテスト済み)の問題です。

KillUserProcesses=no見つかったすべてのソリューションはデフォルトで確認および設定されます。また、同じ動作で新しいDebianインストールをインストールしました。


DebianとUbuntuでは常に同じ画面バージョンですScreen version 4.08.00 (GNU) 05-Feb-20


Ubuntu

  1. Ubuntu 20.04で新規インストール
  2. 分離モードで画面を実行する
  3. ログアウトしてもう一度ログインしてください。
  4. 画面プロセスがまだ存在します。

  1. UbuntuバージョンをUbuntu 22.04にアップグレードする
  2. 分離モードで画面を実行する
  3. ログアウトしてもう一度ログインしてください。
  4. 画面プロセスが終了しました。

Debian

  1. Debian 10 で新規インストール
  2. 分離モードで画面を実行する
  3. ログアウトしてもう一度ログインしてください。
  4. 画面プロセスがまだ存在します。

  1. Debian バージョンを Debian 11 にアップグレード
  2. 分離モードで画面を実行する
  3. ログアウトしてもう一度ログインしてください。
  4. 画面プロセスが終了しました。

だから、現時点では、私が知らないいくつかの重要な変更がリリースにあります。

関連情報