이 질문은 동시에 여러 개의 자체 실행 인스턴스를 방지하기 위해 잠금을 유지하는 스크립트에 관한 것입니다.이 인스턴스는 다양한 프로세스에 의해 특정 시간에 실행되며 특정 상황에서 재부팅 명령을 보냅니다.
재부팅이 요청되고 스크립트가 몇 초 동안 잠자기 시작합니다 (재부팅이 시작되기 전에 잠금이 해제되지 않도록). 그런 다음 스크립트는 신호를 수신하고 자체적으로 종료됩니다 (이로 인해 잠금 해제).
질문 : 재부팅 이벤트에 의해이 스크립트가 이미 중지되어 있고 스크립트를 다시 시작하도록 관리하는 다른 프로세스가 아직 실행중인 시간 창이 있습니까?
개인적으로 리눅스 시스템은 일반적으로 새로운 프로세스의 실행이 일반적으로 금지되는 상태로 전환되고 그 후에 실행중인 프로세스가 중단된다는 느낌이 듭니다. 그러나 이것에 관한 문서를 찾을 수 없기 때문에 이것은 단지 희망적인 생각입니다.
몇 가지 설명 :
a) 잠금 파일이 제대로 제거되지 않은 것이 아닙니다. flock을 사용하면 충돌이 발생하더라도 스크립트가 종료되는 순간 잠금이 사라집니다.
b) 대부분의 경우 스크립트는 at deamon에 의해 루트 권한으로 시작됩니다.