몇개의 서버와 다른 데몬이 올바른 순서로 시작해야합니다.우분투에서 init.d 스크립트를 시퀀싱하는 방법
내가 골격 스크립트에서있는 init.d 스크립트를 만든 및 번호 명명 시스템을 사용하여 적절한 순서로 시작을 설치할 수 있지만 몇 가지 문제가 남아 :
하나의 서버 ('ServerA에')가 필요 데이터베이스 연결을 초기화 한 다음 소켓에서 수신 대기합니다. 다른 서버 ('serverB')는 해당 소켓에 연결해야하며 이전 프로세스가 아직 수신 대기 중이 지 않으면 연결이 실패합니다. serverA가 듣기 시작하기 전까지 serverA에 대한 init.d 스크립트가 종료되지 않도록하는 방법이 있습니까? serverB init는 serverA init가 종료 될 때까지 시작되지 않습니다.
지금 설치 프로그램은 성공할 때까지 serverB가 연결을 재 시도하도록하여 작동하지만이 접근법은 약해 보입니다. 나는 시퀀싱을 강제하는 방법에 대해보다 결정 론적으로 이해하고 싶다.
나는 소켓 'file'이 항상 존재한다고 믿기 때문에 그 존재는 좋은 지표가 아니다. 지연된 대몬 화 접근법이 유망하다. 이제 쉘 '&'방법 (빠르고 쉬운)을 사용하지만 내부적으로 대몬 화를하는 것은 충분히 실용적입니다. – Rdbhost
서버를 시작하기 전에 소켓을 제거 할 수 있으므로 소켓을 다시 만들어야합니다. (나는 또한 루프가 너무 잠을 자야 할 수도 있음을 잊어 버렸다.) –
폴링 루프에서 잠을 자고 싶을 수도있다. – mc0e