파이썬 OS 종료

Paisseon Os Jonglyo



Python의 운영 체제 모듈은 운영 체제와 함께 전송하기 위한 다양한 도구를 제공합니다. 이 모듈은 운영 체제에 따라 기능을 사용하는 모듈 방식을 제공합니다. Python 프로그래밍 언어에는 다양한 방법이 사용되며 'Python os exit'가 그 중 하나입니다. 이 함수를 사용하면 정리 핸들러를 실행하거나 버퍼를 플러시하지 않고 특정 상태로 Python 프로세스를 종료할 수 있습니다. 예를 들어 이 함수는 일반적으로 하위 프로세스에서 사용되는 'os fork()' 시스템 호출을 사용합니다.

컴퓨터 기능은 많은 컴퓨터 운영 체제에서 종료 시스템 호출을 시작하여 실행을 종료할 수 있습니다. 다중 스레딩 시스템에서 종료는 종종 작동 중인 스레드의 중단을 상징합니다. 운영체제는 리소스 관리를 위해 파일과 메모리를 포함하는 리소스를 검색합니다. 그러나 종료를 위한 표준 방법에 대해 이야기한다면 아마도 'sys.exit(n)' 방법일 것입니다.







통사론

Python os 종료 방법의 구문은 다음과 같습니다.




Python os 종료 메서드의 구문은 두 가지를 결정합니다. 첫 번째 부분은 프로세스의 종료 상태를 나타내고 이 모듈은 어떤 값도 반환하지 않습니다.



예제 # 1: 'os._exit()' 메서드를 활용하여 정리 처리기를 호출하지 않고 여러 프로세스를 종료

종료 방법은 모든 운영 체제, 주로 'Windows' 또는 'Linux' 운영 체제에서 작동할 수 있습니다. 첫 번째 예에서는 함수 또는 프로그램에서 정리 핸들러를 호출하지 않고 처리를 수행하는 상위 프로세스 및 하위 프로세스로 발생하는 여러 프로세스를 살펴봅니다. 이 모듈은 'Linux' 운영 체제에서 더 효율적으로 작동합니다. 실행 매개변수 값이 0이 아닌 스레드 정리 'pop()'은 정리 핸들러를 호출합니다. 푸시되었지만 아직 해제되지 않은 모든 정리 절차는 새니테이션 스택에서 제거되고 스레드가 중지될 때 후입선출(LIFO) 순서로 실행되지만 이 예에서는 호출할 필요가 없습니다.






Python os 종료의 첫 번째 예에 대한 코드 스니펫은 아래에 설명되어 있습니다.

이 프로그램은 장치의 운영 체제와 연결하기 위한 조건 및 조건을 수행하는 데 관심이 있으므로 'os' 라이브러리를 가져옴으로써 시작되었습니다. 그런 다음 'PID'를 만들고 'Python'을 'os' 라이브러리와 연결했습니다. 이제 'if' 조건이 'PID가 0보다 큼'인 조건문을 사용합니다.



그 후, '\nProcessing in Parent' 문을 인쇄해야 하는 'print()' 함수를 사용했습니다. 여기서 '\n'은 'if' 조건 내에서 커서를 새 줄로 이동하는 데 사용됩니다. 변수 'info'는 'os.waitpid(pid,0)' 호출로 초기화되며 여기서 'PID'는 '0' 간격에서 시작합니다. 추가 진행으로 'os.WIFEXITED()'에 또 다른 'if' 조건을 적용하여 처리를 위해 정보 설명 '1'을 부여했습니다. 처리 정보를 'python_code'의 사용자 정의 함수에 저장합니다. 이 함수는 'Child Code to be Exit'라는 인쇄 문을 보유하고 'print()' 함수 내의 'python_code' 값에 부여합니다.

이제 우리는 4개의 print 문이 있는 'else' 조건에 도달했습니다. 첫 번째 'print()' 함수의 명령문은 'Processing in Child'입니다. 두 번째 print 문은 'ID of Processing:'이며 이를 통해 자식 처리를 위한 Python의 코드 파일을 포함하는 함수인 'os.getpid()'의 값을 보유합니다. 여기서 사용된 세 번째 인쇄문은 'Hey Python!!'입니다. 네 번째 인쇄 문은 'Child Processing Exists!'입니다. 마지막으로 메인 모듈을 적용하여 'os._exit()'라는 기존 파일의 프로그램 실행 처리를 종료하고 처리를 위한 함수를 반환하지 않고 'os.EX_OK' 변수가 할당되었습니다.


자식 처리는 더 많은 시간이 필요하기 때문에 먼저 실행하고 부모 처리에서 프로그램을 종료하는 것이 우선 순위입니다. 따라서 출력 스냅샷은 단순히 이전 코드에서 제공한 인쇄 문을 표시하지만 시스템에서 생성한 파일은 마지막 스냅샷에서 볼 수 있는 처리 ID '78695'를 표시합니다. 그리고나서 parent exit의 처리는 핸들러가 필요하기 때문에 철저한 처리도 거치지 않았기 때문에 '0'이 됩니다.

예제 # 2: 'os._exit()' 메서드를 활용하여 버퍼 플러시 없이 일반 프로세스 종료

이 예제에서는 시스템을 통해 읽은 후 해당 간격을 실행한 후 간단한 일반 처리 실행 종료 현상을 살펴보겠습니다. 여기서도 플러싱 버퍼는 처리에 필요하지 않기 때문에 사용하지 않습니다. 결국 'os._exit'는 프로세스를 종료하는 데 더 효율적으로 작동합니다.


Python 라이브러리 'os'를 가져온 코드를 살펴보겠습니다. 프로그램은 변수 'p'를 사용하여 일부 데이터를 보유하고 범위를 '6'으로 설정하는 for 루프로 시작합니다. 그런 다음 변수 'p'에 'if' 조건을 적용하여 총 간격을 '4'로 균등화했습니다. 처리 시스템은 인덱스 '0'에서 시작하므로 '0'에서 '4'까지 프로세스를 실행합니다. 'p'의 값이 4가 되는 조건이 일치하는 즉시 프로그램은 'print()' 함수인 다음 명령문을 실행하고 처리 장치 'exit'를 제공합니다. 마지막 줄에서 'os._exit()' 함수를 사용하여 '0'부터 시작하여 함수를 종료한 다음 처리를 종료했습니다. 결국 “p”라는 변수를 할당하여 “print()” 함수를 사용했기 때문에 처리 후 변수 “p”에 저장된 모든 값이 출력 디스플레이에 인쇄됩니다.


출력 디스플레이에는 숫자 '0', '1', '2' 및 '3'만 표시됩니다. 이러한 숫자는 처리 후 도달한 4개의 숫자이며 그 이후에는 처리가 종료됩니다.

예제#3: 'os._exit()' 메서드를 사용하여 버퍼에 존재하지 않는 프로세스 종료

때때로 우리는 어떤 이유로든 시스템이 처리를 수행하거나 중지하는 것이 쉽지 않은 일부 프로세스를 통과하려고 시도합니다. 대부분 특정 자료, 라이브러리 또는 파일 할당의 존재로 인해 특정 프로그램에 대한 처리가 없을 때입니다. .


'숫자'를 변수로 사용하고 '0'에서 '7'까지의 범위로 설정한 코드 스니펫을 살펴보겠습니다. 이제 'Numbers'가 '5' 인덱스와 같은 'if' 조건을 적용한 다음 'print()' 문을 사용하여 'exit' 값을 인쇄했습니다. 이후 'os._exit'와 같은 처리를 종료하기 위해 'raise SystemExit'라는 특정 모듈을 사용하고 프로세스가 종료된 후 변수 'Numbers'에 저장된 숫자를 표시하기 위해 다시 'print()' 함수를 사용했습니다.


출력 스냅샷은 종료 사용 모듈 뒤에 '숫자' 값을 표시하지 않는다는 것을 명확하게 설명합니다. 라이브러리 및 초기화와 같은 주요 자료가 없기 때문에 프로그램 처리 후 출력 표시에 '비어 있음'을 반환하고 값을 읽지 않고 반환하거나 프로그램이 실행되지 않을 수 있습니다.

결론

이 기사에서는 Python os 종료 방법과 관련된 세 가지 예를 논의했습니다. 첫 번째 예에서는 Python os 종료 모듈을 사용하여 플러시 및 정리 처리기를 사용하지 않고 자식 프로세스를 종료했습니다. 두 번째 예에서는 버퍼를 플러시하지 않고 단일 일반 코드 프로그램에서 프로세스 종료에 os 종료 모듈을 사용했습니다. 세 번째 예는 현재 존재하지 않거나 시스템에 저장되어 있지 않은 부재 프로세스를 종료하는 것과 관련이 있습니다.