본문 바로가기

[OS]Operating System/[Linux]

[Linux] shell script - python exit code

728x90
반응형

exit code?

종료 코드란 명령 또는 스크립트가 실행된 수 수신된 코드값이다. 종료 코드는 명령/스크립트의 결과에 대한 단서(성공/실패/기타 조건)를 보고하는 시스템이다.

동의어로, '종료 상태', '반환 코드', '종료 상태 코드'가 있다.

  • 누군가 요청하지 않는 한 종료 코드는 스스로 출력하지 않는다.
  • 종료 코드는 코드 디버깅에 사용된다.
  • 종료 코드는 다양한 시스템 통합에 유용하다.

python~shell exit code

shell로 python script를 실행하게 되면 python script 실행 결과에 대한 exit code를 반환해 볼 수 있을 것이다.

이때 python은 'Sucess Exit Code'값으로 '0', 'Failure Exit Code'값으로 '1'을 반환한다.

또는 사용자 지정 종료 코드로 반환할 수 있다. 이는 python script상의 예외처리를 하는 경우에 해당한다.

import sys


try:
	# 실행할 코드
except Exception as e:
	# 예외가 발생한 경우 처리할 코드
    print(e)
    sys.exit(99)

위의 경우, 예외처리를 한 뒤 상태 코드를 99로 반환하도록 했다.

이경우는 실패 코드로 99를 리턴할 것이다.

 

결론

Python과 Shell Script 간의 종료 코드를 처리하는 사례를 살펴보았다.

  • Python 프로그램이 실행될 때 표준 종료 코드가 수신된다.
    • 성공 : 0, 실패 : 1
  • sys.exit() 사용자 지정 종료 코드는 python에서 호출을 사용하여 전달할 수 있다.
  • 종료 코드는 오류 설명을 포함할 때 유용하다.
  • 호출에 대한 integer 인수 이외의 에러문이 인쇄되고, 시스템이 오류코드와 함께 종료된다.
  • python 코드에서 올바르게 처리되는 예외는 표준 종료 코드 규칙이 적용된다.

 


Reference

반응형

'[OS]Operating System > [Linux]' 카테고리의 다른 글

[Linux] bash shell - 조건문 사용법  (0) 2023.06.13
[Linux] shell code - [], [[]], (), (()) 차이  (0) 2023.04.30
[Linux] $?의 의미  (0) 2023.04.30
[Linux] IF문  (0) 2023.04.30
[Linux] tmux 사용하기  (0) 2023.04.16