"lightdm --session-child 12 19"는 무엇을 의미합니까?

"lightdm --session-child 12 19"는 무엇을 의미합니까?

lightdm --session-child 12 19다음 출력은 무엇을 의미합니까?

lightdm위 명령을 실행하기 위해 프로세스를 분기 해야 하는 이유는 무엇입니까 ?

--session-child맨페이지에서 찾을 수 없습니다 lightdm. 감사해요.

$ 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

답변1

~에서https://lists.freedesktop.org/archives/lightdm/2015-December/000916.html

> ps aux | grep lightdm | grep -v grep
>
> is
>
> root       894  0.0  0.1  35192  3492 ?        SLsl 22:19   0:00 lightdm
> root      2766  1.9  1.3  98744 26980 tty7     Ssl+ 22:49   0:45
> /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0
> -nolisten tcp vt7 -novtswitch
> root      2852  0.0  0.1  19876  3796 ?        Sl   22:49   0:00
> lightdm --session-child 12 19

예, 두 개의 프로세스를 갖는 것이 정상입니다.

첫 번째 lightdm 프로세스는 데몬 프로세스(PID 894)입니다. 로그인할 때 PAM은 내부에서 PAM 기능을 실행하기 위해 하위 프로세스를 시작하도록 요구합니다. LightDM은 데몬과 통신하기 위해 일부 파이프를 설정한 다음 --session-child(PID 2852)를 사용하여 자체를 다시 실행함으로써 이를 수행합니다. 그런 다음 PAM(루트로서)은 사용자를 인증하고 세션에 맞게 이 프로세스를 설정하기 위해 구성된 모든 작업을 수행합니다. 완료되면 다른 프로세스를 포크하고 권한을 제거한 후 실제로 세션을 실행합니다.세션이 종료되면 PAM을 사용하여 정리 프로세스를 실행할 수 있도록 세션 하위 프로세스를 열어 두어야 합니다.

마지막 문장의 "세션 하위 프로세스"는 하나가 아닌 두 번째 lightdm 프로세스를 참조하는 것 같습니다 lxsession. 하지만 난 정말 모르겠어요소스 코드.

관련 정보