![upstart 또는 sysvinit를 사용하여 서버가 시작되었는지 확인](https://linux55.com/image/56907/upstart%20%EB%98%90%EB%8A%94%20sysvinit%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%84%9C%EB%B2%84%EA%B0%80%20%EC%8B%9C%EC%9E%91%EB%90%98%EC%97%88%EB%8A%94%EC%A7%80%20%ED%99%95%EC%9D%B8.png)
저는 숙련된 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로 착각할 수 있습니다 =)