나는/opt 안에 삼바 마운트를 가지고있다. 나는 init.d에 rc6.d에 링크되어있는 sysinit라는 스크립트를 가지고있다. 이것은 재부팅시에 호출되며 (가장 먼저 K01sysinit으로 설정)/opt 디렉토리를 마운트 해제해야합니다. 그러나 재부팅 할 때 rc.sysinit 파일의 명령에서 실패하고 있음을 알 수 있습니다. 수동으로 sysinit 스크립트를 실행 한 다음 재부팅하면 모든 것이 정상적으로 작동합니다. 다른 스크립트가 마운트 해제 된 후/opt를 수행하기 전에 rc.sysinit umount 명령이 실행되는 경합 조건으로 실행되고 있습니까? 아니면 다른 작업이 진행 중입니까? 또는 실행 수준이 어떻게 작동하는지 이해할 수 없습니까? 재부팅시 rc6.d의 내용이 먼저 실행 된 다음 rc.sysinit의 마운트 해제가 발생한다고 생각했습니다.rc.sysinit을 수정하지 않고 재부팅하는 동안 "Device busy"를 제거하는 방법, redhat 5.1?
0
A
답변
1
내가 찾은 해결책은 내가 만든 서비스가 "실행 중"이라는 것을 rc.sysinit 파일에서 알 수 있도록/var/lock/subsys에 잠금 파일을 만들어야한다는 것이 었습니다. 이 기능이 없으면 종료 또는 재부팅시 "stop"명령을 사용하여 스크립트를 실행하기 위해 필요한 KXXsysinit 심볼릭 링크를 생성하지 않습니다.