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
. 하지만 난 정말 모르겠어요소스 코드.