IDLE에서 텍스트 파일을 토큰 화하는 프로그램을 작성했고 349 텍스트 파일을 토큰 화하기 시작합니다! 어떻게 멈출 수 있습니까? 실행중인 Python 프로그램을 어떻게 중지 할 수 있습니까?
답변:
프로그램을 중지하려면 Control +를 누르십시오 C.
^C
... 터미널 여전히 CPU를 많이 사용하는 시스템 모니터 보였다 파이썬에서
Ctrl + Z
(적어도 Linux에서는) 키를 누릅니다 . 그런 다음 그것을 죽이고 kill %n
싶다면를 눌렀을 때 "Stopped"옆에있는 숫자가 "n"인 곳 에서 실행 하십시오 Ctrl + Z
. 재개하려면을 실행하십시오 fg
.
exit()
코드 에서 함수 를 사용하는 경우에도 수행 할 수 있습니다 . 더 이상적으로는 sys.exit()
. 패키지를 통해 병렬로 실행하는 경우에도 Python을 종료 sys.exit()
할 수 있습니다multiprocessing
.
참고 :를 사용하려면 sys.exit()
다음을 가져와야합니다.import sys
sys.exit(1)
프로세스를 중단하지 않는 예를 찾을 수 있습니다. 기본적으로 여러 스레드가 있으며 각 스레드는 Popen
. Python 프로세스와 Python 프로세스 자체에서 생성 한 모든 하위 프로세스를 종료하려면 핵 옵션이 필요합니다. 지금까지 찾지 못했습니다.
프로그램이 대화 형 콘솔에서 실행중인 경우 CTRL+ C를 누르면 KeyboardInterrupt
주 스레드 에서 예외 가 발생합니다.
Python 프로그램이이를 포착하지 못하면 KeyboardInterrupt
Python이 종료됩니다. 그러나 except KeyboardInterrupt:
블록 또는 bare와 같은 것은 except:
이 메커니즘이 실제로 스크립트 실행을 중지하는 것을 방지합니다.
때로는 KeyboardInterrupt
작동하지 않으면 SIGBREAK
대신 신호를 보낼 수 있습니다 . Windows에서 CTRL+ Pause/Break는 KeyboardInterrupt
catch 가능한 예외 를 생성하지 않고 인터프리터에 의해 처리 될 수 있습니다 .
그러나 이러한 메커니즘은 주로 Python 인터프리터가 실행 중이고 운영 체제 이벤트에 응답하는 경우에만 작동합니다. 파이썬 인터프리터가 어떤 이유로 응답하지 않는 경우 가장 효과적인 방법은 인터프리터를 실행하는 전체 운영 체제 프로세스를 종료하는 것입니다. 이에 대한 메커니즘은 운영 체제에 따라 다릅니다.
Unix 스타일 셸 환경에서는 CTRL+ Z를 눌러 현재 콘솔을 제어하고있는 프로세스 를 일시 중단 할 수 있습니다 . 셸 프롬프트를 다시 받으면을 사용 jobs
하여 일시 중단 된 작업을 나열하고 kill %1
. (다시 실행을 시작하려면 fg %1
; 을 사용하여 포 그라운드에서 작업을 계속할 수 있습니다 . 자세한 정보는 작업 제어에 대한 쉘의 매뉴얼을 읽으십시오.)
또는 Unix 또는 Unix와 유사한 환경에서 Python 프로세스의 PID (프로세스 식별자)를 찾아 PID로 종료 할 수 있습니다. 다음과 같은 ps aux | grep python
것을 사용 kill <pid>
하여 실행중인 Python 프로세스를 찾은 다음 SIGTERM
신호 를 보내는 데 사용 합니다 .
kill
Unix 의 명령은 SIGTERM
기본적으로 전송 되며 Python 프로그램은 모듈 SIGTERM
사용을 위한 신호 처리기를 설치할 수 있습니다 signal
. 이론적으로 모든 신호 처리기 SIGTERM
는 프로세스를 정상적으로 종료해야합니다. 그러나 때때로 프로세스가 중단 된 경우 (예 : 중단 SIGTERM
불가능한 IO 절전 상태에서 차단됨) 프로세스가이를 처리하기 위해 깨어나지 못 하기 때문에 신호가 영향을 미치지 않습니다.
신호에 응답하지 않는 프로세스를 강제로 종료하려면 상수 의 숫자 값 이기 때문에 SIGKILL
신호 를 보내야합니다 . 명령 줄에서 (또는 간단히)를 사용하여 a를 보내고 즉시 실행중인 프로세스를 중지 할 수 있습니다 .kill -9
9
SIGKILL
kill -KILL <pid>
kill -9 <pid>
SIGKILL
Windows에서는 프로세스 신호의 Unix 시스템이 없지만 TerminateProcess
함수 를 사용하여 실행중인 프로세스를 강제로 종료 할 수 있습니다 . 대화식으로이를 수행하는 가장 쉬운 방법은 작업 관리자를 열고 python.exe
프로그램에 해당하는 프로세스를 찾은 다음 "프로세스 종료"버튼을 클릭하는 것입니다. taskkill
비슷한 목적으로 명령을 사용할 수도 있습니다 .
Ctrl + C
.exit()
에서 할 수 있습니다.pkill -f name-of-the-python-script
.python script.py&
실행중인 프로그램을 중지하려면 Ctrl+ C를 사용 하여 프로세스를 종료합니다.
파이썬에서 프로그래밍 방식으로 처리하려면 sys
모듈을 가져 와서 sys.exit()
프로그램을 종료 할 위치를 사용 하십시오.
import sys
sys.exit()
Ctrl-Break Ctrl-C 보다 강력합니다.
키보드를 사용하여 Python 스크립트를 중지하려면 : Ctrl
+C
코드를 사용하여 중지하려면 (이것은 Python 3에서 저에게 효과적이었습니다) :
import os
os._exit(0)
다음을 사용할 수도 있습니다.
import sys
sys.exit()
또는:
exit()
또는:
raise SystemExit
Control+ DWindows 10에서 나를 위해 작동합니다. 또한 exit()
끝에 두는 것도 작동합니다.
ctrl+c
죽여야합니다. 또한,kill -9
이