종료 코드
exit code
프로그램이 실행을 마치며 남기는 숫자 신호로, 일이 잘 끝났는지 어디서 막혔는지를 알려준다
쉽게 말하면
종료 코드는 프로그램이나 스크립트가 실행을 마칠 때 남기는 숫자 하나로, 일이 무사히 끝났는지 아니면 도중에 문제가 생겼는지를 알려주는 신호예요. 택배기사가 배송을 마치고 남기는 도장 같은 거예요. 어떤 도장은 배송 완료를 뜻하고, 어떤 도장은 주소가 틀렸다는 뜻이고, 또 어떤 도장은 수취를 거부당했다는 뜻이죠. 숫자만 봐도 뒤에서 무슨 일이 있었는지 짐작할 수 있어요.
요즘은 AI가 스스로 코드를 쓰고 실행하는 도구에서 이 숫자가 더 중요해졌어요. 사람이 매번 화면을 들여다보지 않아도, 프로그램이 남긴 종료 코드만 보고 다음에 무엇을 할지 자동으로 판단할 수 있거든요. 이를테면 숫자가 성공을 뜻하면 다음 단계로 그냥 넘어가고, 실패를 뜻하는 숫자가 나오면 작업을 멈추고 다시 시도하거나 사람에게 알리는 식이에요.
다만 숫자 자체에 절대적인 뜻이 정해져 있는 건 아니고, 어떤 도구를 쓰느냐에 따라 같은 숫자도 다르게 해석될 수 있어요. 그래서 도구마다 이 숫자를 어떻게 정의해두었는지 알아두는 게 중요해요.
기사에서 이렇게 나와요
기사는 클로드 코드의 검문 장치가 남기는 종료 코드 표를 소개하며, 0은 성공, 1은 오류처럼 보이지만 실행을 막지는 않는 경우, 2는 실행을 완전히 차단하는 경우라고 구분했어요. 흔히 「숫자가 0이 아니면 다 막힌다」고 오해하기 쉬운데, 1과 2는 겉보기엔 둘 다 오류 같아도 실제로는 완전히 다르게 동작한다는 점이 핵심이에요.
직접 해보기
터미널을 열고 성공할 명령 하나와, 일부러 오타를 낸 명령 하나를 차례로 실행해보세요. 각 명령 직후에 echo $? 라고 입력하면 방금 실행이 남긴 종료 코드 숫자가 화면에 뜹니다. 보통 성공한 명령 뒤에는 0이, 실패한 명령 뒤에는 0이 아닌 숫자가 나타나는 걸 확인할 수 있어요.
