SNR#3648 로그프레소 종료 명령의 기본 대기 동작 변경

버전: 4.0.2609.0

로그프레소 종료(stop) 명령이 프로세스 종료를 기다리는 기본 동작이 바뀌었습니다.

기존에는 최대 180초(3분) 동안만 종료를 기다렸고, 이 시간이 지나면 프로세스가 실제로 종료되었는지와 관계없이 항상 "종료됨"으로 표시하며 성공(종료 코드 0)으로 처리했습니다. 이 때문에 종료가 아직 진행 중인데도 성공으로 오인되어, 종료 명령을 스크립트로 자동화한 환경에서 후속 작업이 잘못 이어질 수 있었습니다.

이제 별도 옵션을 지정하지 않으면 프로세스가 완전히 종료될 때까지 제한 없이 기다립니다. 대기 시간을 제한하려면 --timeout 옵션으로 최대 대기 시간을 초 단위로 지정할 수 있습니다(0 이하의 값은 오류로 거부됩니다). 지정한 시간 안에 종료되면 종료 코드 0을, 시간이 지나도 종료되지 않으면 오류 메시지와 함께 종료 코드 1을 반환하므로 실제 종료 여부를 정확하게 구분할 수 있습니다.

예를 들어 최대 600초까지 종료를 기다리려면 다음과 같이 실행합니다.

./logpresso stop --timeout 600

영향 범위 기존에는 종료 스크립트가 시간 초과 시에도 항상 종료 코드 0을 받았지만, 이제 --timeout을 지정한 뒤 그 시간 안에 종료되지 않으면 종료 코드 1을 받습니다. 종료 코드를 검사해 후속 동작을 결정하는 자동화 스크립트가 있다면 이 변화를 반영해야 합니다. 기존과 비슷하게 대기 시간을 3분으로 제한하려면 --timeout 180을 지정할 수 있지만, 시간 초과 시의 결과 판정까지 이전과 동일하게 되돌리는 옵션은 없습니다. 시간 초과 시 항상 실패로 보고되도록 하는 것이 이번 변경의 목적이기 때문입니다.