내 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