私のデスクトップアプリケーションがPID1のサブアプリケーションであるのはなぜですか?

私のデスクトップアプリケーションがPID1のサブアプリケーションであるのはなぜですか?

グラフィックアプリケーションの実行に使用していますi3bar。システムのプロセスpstreeツリーを表示するときに子でなければなりませんか?systemdi3bari3bar

ベストアンサー1

i3barのソースコードを見る、i3barが新しいアプリケーションを起動すると、次のようになります。

  1. fork()
  2. 呼ぶPGID設定、新しいグループID = 0(この動作のマンページノートを参照)
  3. execl()

したがって、新しい子プロセスは親プロセスのプロセスグループに昇格されるため、i3barと同じ親プロセスを持つ必要があります。

i3barインスタンスのプロセスグループIDを確認することでこれを確認できます。たとえば、

ps axo pid,ppid,pgid,sid,comm | grep i3bar
# See 3rd column

i3barがinitの子である場合、これは現在表示されている動作を説明します。

おすすめ記事