Solaris OS용 Sun Cluster 데이터 서비스 개발 안내서

Stop 메소드의 기능

데이터 서비스 중지를 시도할 때는 기본적으로 두 가지 사항을 고려해야 합니다. 첫 번째는 순차적 종료를 수행하는 것입니다. 순차적 종료를 수행하는 최선의 방법은 pmfadm을 통해 SIGTERM 신호를 보내는 것입니다.

두 번째 고려 사항은 데이터 서비스를 Stop_failed 상태가 되지 않도록 실제로 중지하는 것입니다. 이를 수행하는 가장 좋은 방법은 pmfadm을 통해 SIGKILL 신호를 보내는 것입니다.

샘플 데이터 서비스의 Stop 메소드는 이러한 사항을 모두 고려합니다. 이 메소드는 SIGTERM 신호를 보낸 다음 이 신호가 데이터 서비스를 중지하는 데 실패할 경우 SIGKILL 신호를 보냅니다.

DNS 중지를 시도하기 전에 Stop 메소드는 프로세스가 실제로 실행 중인지 확인합니다. 프로세스가 실행 중이면 Stop은 PMF(pmfadm)를 사용하여 이를 중지합니다.

Stop 메소드는 멱등성이 보장됩니다. 먼저 Start 메소드 호출을 통해 데이터 서비스를 시작하지 않은 채 RGM에서 Stop 메소드를 두 번 호출해서는 안 되지만 자원이 시작된 적이 없거나 저절로 중지된 경우에도 해당 자원에서 Stop 메소드를 호출할 수 있습니다. 따라서 이 Stop 메소드는 DNS가 실행 중이 아닌 경우에도 성공 상태로 종료합니다.