다른 프로세스가 완료될 때까지 초기화 스크립트를 지연하시겠습니까?

다른 프로세스가 완료될 때까지 초기화 스크립트를 지연하시겠습니까?

저는 Debian Jessie를 사용하고 있습니다. 시작하는 동안 일부 사용자 입력을 읽고 싶습니다. 이는 /etc/init.d/의 사용자 정의 스크립트와 런레벨 디렉토리의 심볼릭 링크를 통해 수행됩니다. 이제 kdm다른 init 스크립트에 의해 시작된 것이 내 사용자 정의 스크립트가 완료된 후에만 시작되기를 원합니다 .

나는 다음과 같은 것을 추가하여 이것을 달성합니다.

while test -e /tmp/kdm-boot-lock
do
    echo "waiting for lock-file to be deleted by custom-script"
    sleep 1
done

/etc/init.d/kdm으로

하지만 저는 외부 파일을 변경하지 않는 솔루션을 선호합니다(업데이트에 따라 변경될 수 있음).

따라서 질문은 다음과 같습니다. kdm사용자 정의 스크립트가 완료되기 전에 다른(변경되지 않은) init script()가 시작되는 것을 방지하려면 어떻게 해야 합니까?

답변1

kdminitscript를 사용하고 있으므로 사용자 정의 스크립트가 완료될 때까지 연기하는 올바른 방법은 kdmLSB 헤더에서 사용자 정의 스크립트의 종속성을 선언하는 것입니다.

# Required-Start: ... yourscript

kdm초기화 스크립트 에서

# Provides: yourscript

사용자 정의 초기화 스크립트에서.

업그레이드 시 initscript 변경 사항이 kdm손실되는 것을 방지하려면 해당 LSB 헤더를 insserv오버레이 파일 (동일한 이름 사용)에 복사한 /etc/insserv/overrides다음 편집할 수 있습니다.

관련 정보