로그인한 모든 사용자에게 "systemd" 프로세스가 있는 이유는 무엇입니까?

로그인한 모든 사용자에게 "systemd" 프로세스가 있는 이유는 무엇입니까?

ps출력에서 ​​:

root         1  0.0  0.0 225552  5316 ?  Ss  /lib/systemd/systemd --system --deserialize 19
message+   572  0.0  0.0  51564  3076 ?  Ss  /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
root       590  0.0  0.0  71084  2084 ?  Ss /lib/systemd/systemd-logind
t          929  0.0  0.0  76872  1988 ?  Ss /lib/systemd/systemd --user
t          980  0.0  0.0  50792  2688 ?  Ss /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
systemd+  2632  0.0  0.0  71240  2464 ?  Ss /lib/systemd/systemd-resolved
systemd+  2637  0.0  0.0 143976   712 ?  Ssl /lib/systemd/systemd-timesyncd
root      2642  0.0  0.4 232544 37308 ?  S<s /lib/systemd/systemd-journald
root      3334  0.0  0.0  46108  2252 ?  Ss /lib/systemd/systemd-udevd
testme   22693  0.0  0.0  76964  3428 ?  Ss /lib/systemd/systemd --user

시스템화된 관련 프로세스가 왜 그렇게 많습니까?

특히 systemd로그인한 모든 사용자에 대해 프로세스가 있는 이유는 무엇입니까?

Linux 부팅 시퀀스에서 커널은 첫 번째 프로세스로 init 시스템을 시작한 다음 login모든 사용자가 로그인할 수 있도록 init 프로세스를 실행합니다. 로그인한 사용자 수나 초기화 시스템이 sysvinit이든 systemd이든 관계없이 init 시스템은 싱글톤 프로세스로 실행되어야 한다고 생각합니다. 그렇죠?

root프로세스 를 시작하려면 로그인해야 합니까 systemd?

루트가 아닌 시스템 프로세스의 경우 데몬으로 실행됩니까?

감사해요.

답변1

init 프로세스의 pid는 1이며 루트는 이를 시작하기 위해 로그인할 필요가 없습니다. 다른 프로세스는 init 프로세스가 아닙니다.

다양한 사용자별 시스템 프로세스가 사용자별 서비스를 관리합니다. 여기에는 사용자 서비스( systemctl --user start ...) 및 여러 "사용자별 데몬"(GNOME에서는 PulseAudio, 다양한 GVFS 프로세스 등이 표시됨)이 포함됩니다.

다른 시스템 프로세스는 파서, 시간 동기화 서비스, 로그 등 특정 서비스를 처리합니다.

출력 ps에 따르면 이러한 프로세스에는 제어 터미널이 없으므로 모두 데몬으로 실행되고 있습니다(일부 데몬 값에 대해).

systemd에는 매우 좋은 문서가 있습니다. 시도해 man systemd보십시오.man systemd-logind

관련 정보