コンソールを介して画面からプロセスが開始されると、これらのプロセスはログアウト時に終了します。
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
- Ubuntu 20.04で新規インストール
- 分離モードで画面を実行する
- ログアウトしてもう一度ログインしてください。
- 画面プロセスがまだ存在します。
- UbuntuバージョンをUbuntu 22.04にアップグレードする
- 分離モードで画面を実行する
- ログアウトしてもう一度ログインしてください。
- 画面プロセスが終了しました。
Debian
- Debian 10 で新規インストール
- 分離モードで画面を実行する
- ログアウトしてもう一度ログインしてください。
- 画面プロセスがまだ存在します。
- Debian バージョンを Debian 11 にアップグレード
- 分離モードで画面を実行する
- ログアウトしてもう一度ログインしてください。
- 画面プロセスが終了しました。
だから、現時点では、私が知らないいくつかの重要な変更がリリースにあります。