데이터 서비스 중지를 시도할 때는 기본적으로 두 가지 사항을 고려해야 합니다. 첫 번째는 순차적 종료를 수행하는 것입니다. 순차적 종료를 수행하는 최선의 방법은 pmfadm을 통해 SIGTERM 신호를 보내는 것입니다.
두 번째 고려 사항은 데이터 서비스를 Stop_failed 상태가 되지 않도록 실제로 중지하는 것입니다. 이를 수행하는 가장 좋은 방법은 pmfadm을 통해 SIGKILL 신호를 보내는 것입니다.
샘플 데이터 서비스의 Stop 메소드는 이러한 사항을 모두 고려합니다. 이 메소드는 SIGTERM 신호를 보낸 다음 이 신호가 데이터 서비스를 중지하는 데 실패할 경우 SIGKILL 신호를 보냅니다.
DNS 중지를 시도하기 전에 Stop 메소드는 프로세스가 실제로 실행 중인지 확인합니다. 프로세스가 실행 중이면 Stop은 PMF(pmfadm)를 사용하여 이를 중지합니다.
이 Stop 메소드는 멱등성이 보장됩니다. 먼저 Start 메소드 호출을 통해 데이터 서비스를 시작하지 않은 채 RGM에서 Stop 메소드를 두 번 호출해서는 안 되지만 자원이 시작된 적이 없거나 저절로 중지된 경우에도 해당 자원에서 Stop 메소드를 호출할 수 있습니다. 따라서 이 Stop 메소드는 DNS가 실행 중이 아닌 경우에도 성공 상태로 종료합니다.