Alt+F2 init プロセスの子プロセスとしてコマンドを実行するには?

Alt+F2 init プロセスの子プロセスとしてコマンドを実行するには?

Lubuntu 18.04でデスクトップメニューをクリックし、その中でlxterminalをクリックし、ターミナルエミュレータウィンドウで次のコマンドを実行すると、次の結果が表示されます。

$ pstree -a -p   -s $$
systemd,1 --system --deserialize 19
  └─lightdm,661
      └─lightdm,862 --session-child 12 19
          └─lxsession,944 -s Lubuntu -e LXDE
              └─lxpanel,1087 --profile Lubuntu
                  └─lxterminal,23017
                      └─bash,23020
                          └─pstree,26853 -a -p -s 23020

Alt+をクリックしてF2lxterminalを実行し、ターミナルエミュレータウィンドウで次のコマンドを実行すると、次の結果が表示されます。

$ pstree -a -p   -s $$
systemd,1 --system --deserialize 19
  └─lxterminal,1480
      └─bash,27000
          └─pstree,27013 -a -p -s 27000

lxterminal2人目は幼い頃にどのように行動しますかsystemd? lxterminalプロセスを切り離してリセットすると完了しますかsystemd

このプロセスの元の親と祖先は何ですかlxterminal

AltF2私の質問は実際にはより一般的です。 + initプロセスの子プロセスとしてコマンドを実行するには?

関連ソースコードはどこにありますか?


私の疑い:

alt_F2を押すと、デスクトップ環境のメニューパネルをクリックして「実行」を選択するのと同じです。同等の状況になると思います。

プロセスは、実行するコマンドを求めるウィンドウを表示lxpanelするためにプロセスを分岐し、指定されたコマンドを実行するために2番目のプロセスを分岐して終了します。Runこれは、指定されたコマンドを実行するプロセスをinitプロセスにリセットします。 (デーモンプロセスの作成とは異なり、指定されたコマンドを実行するプロセスは新しいプロセスセッションを開始しません。)

lxpanelリーダのプロセスセッションにあり、制御端末がlxession,944ないため、指定されたコマンドを実行するプロセスは同じセッションにあり、制御端末はありません。SIGHUP中間プロセスを早期に終了してinitプロセスで指定されたコマンドを実行するプロセスをリセットしないと、送信される心配はありません。

それでは、中間プロセスを早期に終了し、指定されたコマンドを実行するプロセスをinitプロセスに再配置する目的は何ですか?

ベストアンサー1

おすすめ記事