Python에서 실행 중이던 프로그램을 종료시키는 방법에는 아래 4가지가 있다.
1. quit()
2. exit()
3. sys.exit([arg])
4. os._exit([arg])
1. quit() 를 사용하는 방법
quit() 메소드를 이용하여 종료 작업을 수행할 경우 quit() 는 실행 중이던 프로그램뿐만 아니라 python 쉘까지 완전히 닫아버린다.
이러한 이유로 quit()는 python 쉘에서만 사용해야하고 프로그램 내에서는 사용하지 않는 것을 권장하고 있다.
2. exit() 를 사용하는 방법
exit() 메소드 역시 python 프로그램을 종료시킬 수 있는 메소드이지만 quit() 와 비슷하게 실행 중이던 프로그램뿐만 아니라 python 프로세스까지 완전히 종료시킨다. 따라서 python 쉘에서 사용하도록 하고 프로그램 내에서는 사용하지 않을 것을 권장한다.
3. sys.exit([arg]) 를 사용하는 방법
sys.exit()는 import sys 를 필요로 한다.
quit()나 exit()와는 달리, 쉘까지 날리지는 않으면서 프로그램만 정상적으로 종료시킬 수 있다.
특히 sys.exit() 메소드는 인자를 받는데, 0의 경우 정상적인 종료를 의미한다.
이러한 이유로 sys.exit()는 프로그램 내에서의 종료 동작을 수행하기 위한 가장 적합한 방법으로 소개된다.
sys.exit()의 인자로 0 이외의 다른 값을 사용할 경우 비정상적인 종료를 의미하는데,
아무런 인자도 사용하지 않을 경우에는 정상적인 종료(default: 0)를 하는 것으로 여겨진다.
0 이외의 값도 사용할 수 있다고는 하지만 대부분의 시스템에서는 이 값으로 0-127 범위의 정수를 사용하도록 한다.
인자로 정수가 아닌 오류 메세지를 입력할 경우 이를 출력하면서 종료시킬 수 있어, 예외 처리를 하는 데에도 유용하게 쓰일 수 있을 것 같다.
4. os._exit([arg]) 를 사용하는 방법
os._exit()는 import os를 필요로 한다.
sys.exit()와 같이 프로그램만을 종료할 수 있도록 하지만, os._exit()에서는 인자로 상태 코드가 꼭 필요하다.
(python.org에서는 인자가 필수가 아니라고 하지만, 테스트해보았을 때에는 인자없이 실행할 경우 에러가 발생하였다..)
정상적인 종료를 의미할 경우 os.EX_OK 를 인자로 넘겨주면 된다.
이것 외의 다른 상태 코드는 아래 링크에서 확인할 수 있다.
'Programming > Python' 카테고리의 다른 글
Ubuntu에서 uWSGI - Nginx 로 웹서버 배포하기 (0) | 2021.09.11 |
---|---|
[Python] 자료 구조형 데이터(리스트, 튜플, 딕셔너리, 집합) (0) | 2021.05.17 |
[Python] 파일 입출력 (0) | 2021.05.17 |