시작 시 스크립트를 특정 런레벨에 어떻게 연결할 수 있나요?

시작 시 스크립트를 특정 런레벨에 어떻게 연결할 수 있나요?

런레벨이 어떻게 작동하는지 이해하려고 노력 중입니다. 나는 7개의 런레벨이 무엇을 의미하는지 이해하고 있으며 일반적으로 를 /etc/inittab호출 하여 구성된다는 것을 알고 있습니다. /etc/init.d/rc호출 자체는 다양한 스크립트를 호출하여 다양한 런레벨과 작동 방식을 구성합니다.

이제 Ubuntu 서버 시스템(12.04)을 사용하고 있으므로 파일은 inittab더 이상 사용되지 않지만 /etc/init스크립트는 디렉터리에 있습니다.

이제 시작 시 스크립트를 실행하고 싶다고 가정해 보겠습니다(예: 애플리케이션 시작). 보통 저는 /etc/init.d/rc.local파일을 편집합니다.

내 질문은 다음과 같습니다. 이 파일을 편집하면 이 스크립트가 실행됩니까?모든런레벨?

예를 들어 스크립트가 실행 수준 5에서만 작동하도록 하려면 /etc/rc5.d/해당 폴더에 스크립트를 넣어야 합니까? 아니면 다른 방법이 있나요?

답변1

우분투에서는 이것을 이렇게 부릅니다.갑자기 나타나다. 나는 당신이 읽을 것을 제안합니다레시피, 특정(의사) 런레벨에서 실행되는 스크립트를 생성하는 방법을 설명합니다.

"System V" 초기화 시스템을 언급하고 있습니다. 아이디어는 일이 동시에 시작되도록 하는 것입니다. 꼭 살펴보시길 권합니다instance신생 기능.

답변2

글쎄, 이것이 내가 찾은 것입니다:

/etc/init최신 Ubuntu 버전은 스크립트가 실행되어야 하는 실행 수준을 구성하기 위해 디렉터리의 특정 구성 파일을 사용하는 upstart(@polemon이 올바르게 지적한 대로)를 사용합니다 . Upstart는 upstart 작업 파일을 /etc/init해당 폴더에 넣고 일반 init 스크립트를 /etc/init.d/etc/rc*.d폴더에 넣고 실제로 실행할 수 있습니다.

upstart를 사용하지 않는 시스템은 /etc/init.d/etc/rc*.d. 이 경우 런레벨은 해당 폴더의 스크립트에 심볼릭 링크를 추가하여 설정됩니다 /etc/rc*.d.

또한 분명히 rc.local다중 사용자 실행 수준에서 스크립트를 실행합니다.

관련 정보