2016-08-23 7 views
0

우리는 udeploy를 사용하여 자주 배포하며 마지막 작업으로 apache http 서버를 다시 시작하는 쉘 스크립트가 있습니다. 스크립트는 간단하다 : - 여기모든 배포 시마다 udeploy의 스크립트를 사용하여 IBM http 서버를 다시 시작하십시오.

cd bin_path 
sudo ./apachectl -k stop 
sleep 5 
sudo ./apachectl start 

문제는 때때로 정지 명령이 시작 메시지를 "서버가 이미 실행"으로 실패 할 것이다 5 초보다 오래 걸립니다이다. 시작이 실패하면 중지가 완료되어 서버가 종료됩니다. 따라서 시작하기 전에 서버가 완전히 중지되었는지 확인하는 더 나은 솔루션을 찾고 있습니다. 당신이 정지 & 시작 사이 다른 아무것도하지 않는 경우

+1

'sudo ./apachectl start; while [$? -ne 0]; sudo ./apachectl start; 수면 1; done' – bishop

+0

당신이 그만두고 난 후에 그 잠을 5 사용해야하고, 그 다음 시작을하고, 그 다음에 [$? -ne 0] 다음 줄을 시작하고 마지막으로 1 ...을 잠자 요? – Ashley

+0

시작 스크립트의 종료 상태가 0이 아닌 한 서버를 시작하려고합니다. 중간에 수면을 추가합니다. 그렇지 않으면 여러 번 실행하려고 시도 할 수 있습니다 :) –

답변

1

나는 apachectl restart을 건의 할 것입니다.