systemd를 사용해도 일부 프로세스는 init를 통해 시작됩니다.

systemd를 사용해도 일부 프로세스는 init를 통해 시작됩니다.

내가 할 때

ll /proc/1/exe

알겠어요

lrwxrwxrwx. 1 root root 0 Oct 16 11:28 /proc/1/exe -> /usr/lib/systemd/systemd

systemd이는 대신 데몬을 실행하고 있음을 의미합니다 init.

하지만 내가 나열할 때

ll /etc/init.d/

여전히 일부 실행 중인 서비스가 표시됩니다 init(출력이 제거됨).

-rwxr-xr-x   1 root root  2269 Apr 22  2017 acpid*
-rwxr-xr-x   1 root root  5336 Apr 15  2016 alsa-utils*
-rwxr-xr-x   1 root root  2014 Dec 29  2014 anacron*
-rwxr-xr-x   1 root root  4335 Mar 23  2018 apparmor*
-rwxr-xr-x   1 root root  2802 Jan  3  2018 apport*
-rwxr-xr-x   1 root root  2134 Jul  7  2015 autofs*
-rwxr-xr-x   1 root root  2401 Nov  5  2015 avahi-daemon*
-rwxr-xr-x   1 root root  2968 Mar  2  2016 bluetooth*
-rwxr-xr-x   1 root root  1275 Jan 20  2016 bootmisc.sh*
-rwxr-xr-x   1 root root  2125 Apr 27  2016 brltty*
-rwxr-xr-x   1 root root  1904 Nov 18  2015 cgroupfs-mount*
-rwxr-xr-x   1 root root  3807 Jan 20  2016 checkfs.sh*
-rwxr-xr-x   1 root root  1098 Jan 20  2016 checkroot-bootclean.sh*
-rwxr-xr-x   1 root root  9353 Jan 20  2016 checkroot.sh*
-rwxr-xr-x   1 root root  1232 Aug  9 09:32 console-setup.sh*
-rwxr-xr-x   1 root root  3049 Apr  6  2016 cron*
-rwxr-xr-x   1 root root  2804 Mar 28  2018 cups*
-rwxr-xr-x   1 root root  1961 Feb 14  2016 cups-browsed*
-rwxr-xr-x   1 root root  2813 Dec  2  2015 dbus*
-rw-r--r--   1 root root  1195 Oct  7 06:13 .depend.boot
-rw-r--r--   1 root root  2459 Oct  7 06:13 .depend.start
-rw-r--r--   1 root root  1926 Oct  7 06:13 .depend.stop

더 많은 서비스를 나열할수록

ll /lib/systemd/system

누군가 왜 그렇게 많은 서비스가 실행되고 있는지 말해 줄 수 있습니까 init?

답변1

systemd시스템에서만 실행되며 를 포함한 모든 서비스가 시작 됩니다 /etc/init.d.

init레거시("sysvinit" 또는 "System V init"라고도 함)를 사용하는 이전 시스템과의 호환성을 위해 systemd는 레거시 init 스크립트를 사용하여 서비스를 시작할 수 있는 메커니즘을 구현합니다.

이 호환성 레이어는 다음으로 구성됩니다.systemd-sysv-생성기, 오래된 초기화 스크립트를 찾아 기본 시스템 서비스 단위로 래핑합니다. (예를 들어 /etc/init.d/avahi-daemon내부에 실행 중인 래퍼가 있는 래퍼를 찾아 생성하고 중지 및 다시 로드 작업에 대해서도 마찬가지로 기존 init 스크립트 작동 방식을 시뮬레이션합니다.)/run/systemd/system/avahi-daemon.serviceExecStart=/etc/init.d/avahi-daemon start

일부 배포판에서는 sysvinit과의 호환성을 높이기 위해 sysvinit service및 sysvinit 와 같은 실행 파일용 래퍼도 제공합니다 .chkconfig

systemd에 정의된 서비스를 확인하려면 systemctl(모든 유닛 파일 표시), systemctl list-units(메모리의 활성 유닛 표시)와 같은 명령을 사용하거나 systemd에 Pass 래퍼가 존재하므로 레거시 초기화 서비스 중 하나에서 이러한 명령을 사용할 수 있습니다.systemctl status service

답변2

이는 실행 중인 서비스가 아니라 실행 가능한 스크립트입니다.

관련 정보