sysvinit에서 'telinit'과 'init'은 동일한 프로세스에서 실행됩니까?

sysvinit에서 'telinit'과 'init'은 동일한 프로세스에서 실행됩니까?

존재하다https://manpages.debian.org/stretch/sysvinit-core/init.8.en.html

/sbin/telinit는 /sbin/init에 연결됩니다.. 문자 인수가 필요하며신호적절한 작업을 수행하도록 초기화합니다.

...

모니터링 초기화/run, /run/initctl의 fifo, 메시지의 경우.Telinit은 이를 사용하여 init와 통신합니다.

telinit첫 번째 문장은 이것이 심볼릭 링크라는 것을 의미합니까 init? 그렇다면 동일한 프로세스에서 실행 telinit하고 init실행하는 것이 올바른가요(예: 일종의 파일 잠금을 통해)? 그렇다면 telinitFIFO나 신호를 사용하여 어떻게 통신합니까?init

비교를 위해 Systemd에서는 systemdsystemctl다른 프로그램 파일입니다. sysvinit 에서와 telinit동일한 역할을 수행합니까 ?initsystemctlsystemd

감사해요.

답변1

이는 기호 링크이지만 프로그램은 호출 방법을 확인하고 다양한 작업을 수행할 수 있습니다. 이는 유닉스 세계에서는 매우 흔한 일이다.

따라서 comamnd를 실행하면 telinit자체 프로세스 공간에서 실행됩니다.분리init프로세스 에서 . 프로세스에 메시지를 보냅니다 init. 컴파일 시간 옵션에 따라 FIFO 또는 신호를 통해 전송될 수 있습니다.

관련 정보