Linuxからログアウトしても生き残るプロセスは何ですか、それ以外のプロセスは何ですか?

Linuxからログアウトしても生き残るプロセスは何ですか、それ以外のプロセスは何ですか?

Linux(特にUbuntu)からログアウトすると、何が起こるのか理解しようとしています。

  • プロセスは、最初にログアウトを実行するためにログアウトプロセスにどのように要求/通知しますか(一部の信号または他のIPC方式を送信することによって)ログアウトプロセスではどのプログラムが実行されますか?リクエスト/通知プロセスは通常どのプログラムを実行しますか?

  • プロセスをログオフすると、どのプロセスが終了し、どのプロセスが終了しませんか? (ログイン後にプロセスを開始し、ログアウト後も保持する方法はいくつかありますが、どうすればよいですか?終了します)

  • ログアウトプロセスはこれらのプロセスをどのように終了できますか?

仮想コンソール、デスクトップ環境、SSHという3つのシナリオを考えてみましょう。 (最初の2つはオペレーティングシステムによって提供され、3番目は両方ともユーザースペースで実行されますが、そうではありません。)

  1. 仮想コンソールにログインすると、ログインシェルから次の親プロセスをインポートします。

    1 systemd
    721 login
    26284 bash
    

    ログアウトすると、そのプロセス721 loginとその下のプロセスが消えます。

  2. Lubuntu 18.04でlightdmとLXDEにログインし、デスクトップパネルでlxterminalを実行し、lxterminalウィンドウで次のコマンドを使用して親プロセスをインポートします.

    $ ps -paus $$
    systemd,1 --system --deserialize 19
      `-lightdm,661
          `-lightdm,27302 --session-child 13 24
              `-lxsession,27309,testme -s Lubuntu -e LXDE
                  `-lxpanel,27399 --profile Lubuntu
                      `-lxterminal,27565
                          `-bash,27568
                              `-pstree,27594 -paus 27568
    

    ログアウトすると、そのプロセスlightdm,27302とその下のプロセスが消えます。

  3. Lubuntu 18.04にSSHを接続した後:

    $ pstree -a -p   -s $$
    systemd,1 --system --deserialize 19
      └─sshd,669 -D
          └─sshd,22838 
              └─sshd,22979  
                  └─bash,22980
                      └─pstree,30610 -a -p -s 22980
    

    ログアウトすると、sshd,22838以下から始まるすべてのプロセスが消えます。

ありがとうございます。

ベストアンサー1

/usr/lib/systemd/systemd-logindOSログアウトプロセスにsystemd(特に)がどのように関与しているかわかりません。

私の答えのいくつかは次のとおりです。

  1. The loginwait()プロセスのログインシェルプロセス、ログインシェルが終了したら、受信して起動し、login実行SIGCHLDを再開します。つまり、終了します。

  2. そうだログアウトリクエスタ例えばlxsession-logout プロセスSIGTERMに送信lxsession (私はソースコードをよく理解していないので「〜のようだ」と言います。)その子孫がどうlxsession反応したのSIGTERMか、なぜ死んだのかわかりません。構成が見つかりません。私たちの両親lightdm,27302もなぜlxsession亡くなったのかわかりません。目が覚めた後、両親が死亡するlightdm,27302可能性があります wait()lxsession

  3. SSHを終了した後に何が起こるのかわかりません。私はCLIログイン(ケース1)と似ているようですが、待って死ぬsshd,22979ことがあります。bash,22980しかし、なぜこのようなプロセスが多いのかわかりませんsshd

おすすめ記事