upstart 또는 sysvinit를 사용하여 서버가 시작되었는지 확인

upstart 또는 sysvinit를 사용하여 서버가 시작되었는지 확인

저는 숙련된 Linux 사용자/관리자는 아니지만 지난 주에 라즈베리를 구입하고 여기에 데비안 배포 기반 Raspbmc를 설치했습니다.

내 배포판에서 서비스에 사용하는 스크립트를 식별하는 데 문제가 있습니다. 특정 실행 수준(rc0.d, rc1.d 등)을 기반으로 결정되는 일부 init.d 스크립트가 있다는 것을 알고 있습니다.

나는 이것에 대해 약간 혼란스럽다고 말해야 합니다.

내 질문은 시작을 위한 init .conf 파일이 있을 때 rc0123456.d 파일이 계속 작동할 것인가입니다. 부팅은 한 번에 둘 중 하나만(upstart 또는 sysvinit)만 존중합니까, 아니면 둘 다를 존중합니까?

어느 것이 사용되고 있는지 어떻게 식별합니까?

감사해요!

답변1

Debian에서는 sysv 스크립트, Upstart 작업 및 systemd 서비스를 동시에 설치합니다. Upstart 및 systemd의 경우 사용 가능한 경우 작업/서비스가 사용되고, Upstart 또는 systemd 작업/서비스를 사용할 수 없는 경우 sysv 스크립트가 실행됩니다.

성공을 반환하는 이 명령은 Upstart가 시작되었음을 의미합니다.

test -x /sbin/initctl && /sbin/initctl --version | grep -q upstart || false

성공을 반환하는 이 명령은 systemd가 시작되었음을 의미합니다.

test -d /run/systemd/system

그렇지 않으면 sysvinit에 있습니다.

답변2

이탈을 방지하려면 이 명령을 사용하여 어떤 init 시스템이 사용되고 있는지 식별할 수 있습니다. ps 1 | awk '/1/{print $5;}' 그렇지 않으면 init 시스템을 sysv로 착각할 수 있습니다 =)

관련 정보