Я написал программу на IDLE для токенизации текстовых файлов, и она начинает токенизировать 349 текстовых файлов! Как мне это остановить? Как я могу остановить работающую программу Python?
104
Я написал программу на IDLE для токенизации текстовых файлов, и она начинает токенизировать 349 текстовых файлов! Как мне это остановить? Как я могу остановить работающую программу Python?
ctrl+c
должен убить его. Как вариант,kill -9
этоОтветы:
Чтобы остановить вашу программу, просто нажмите Control + C.
источник
^C
в терминале, а системный монитор показал, что python все еще использует много ЦП ...Ctrl + Z
(по крайней мере, в Linux). Затем, если вы хотите убить его, запустите,kill %n
где «n» - это число, которое вы получили рядом с «Остановлено» при нажатииCtrl + Z
. Если хотите его возобновить, бегитеfg
.Вы также можете сделать это, если используете
exit()
функцию в своем коде. В идеале можноsys.exit()
.sys.exit()
что может завершить работу Python, даже если вы запускаете что-то параллельно черезmultiprocessing
пакет.Примечание: чтобы использовать
sys.exit()
, вы должны импортировать его:import sys
источник
sys.exit(1)
не останавливается процесс. У меня в основном несколько потоков, и каждый из них блокирует внешние процессы, запущенныеPopen
. Мне нужен ядерный вариант, чтобы убить все подпроцессы, созданные процессом Python, а также сам процесс Python. Пока не нашел.Если ваша программа запущена на интерактивной консоли, нажатие CTRL+ Cвызовет
KeyboardInterrupt
исключение в основном потоке.Если ваша программа Python его не поймает,
KeyboardInterrupt
Python завершится. Однакоexcept KeyboardInterrupt:
блок или что-то вроде гологоexcept:
не позволят этому механизму фактически остановить запуск скрипта.Иногда, если
KeyboardInterrupt
не работает, вы можетеSIGBREAK
вместо этого отправить сигнал; в Windows CTRL+ Pause/Breakможет обрабатываться интерпретатором без создания перехватываемогоKeyboardInterrupt
исключения.Однако эти механизмы в основном работают, только если интерпретатор Python работает и реагирует на события операционной системы. Если интерпретатор Python по какой-либо причине не отвечает, наиболее эффективным способом является завершение всего процесса операционной системы, в котором запущен интерпретатор. Механизм этого зависит от операционной системы.
В среде оболочки в стиле Unix вы можете нажать CTRL+, Zчтобы приостановить любой процесс, который в настоящее время управляет консолью. После того, как вы получите приглашение оболочки, вы можете использовать его
jobs
для вывода списка приостановленных заданий, и вы можете убить первое приостановленное задание с помощьюkill %1
. (Если вы хотите запустить его снова, вы можете продолжить работу на переднем плане, используяfg %1
; прочтите руководство вашей оболочки по управлению заданиями для получения дополнительной информации.)В качестве альтернативы, в Unix или Unix-подобной среде вы можете найти PID процесса Python (идентификатор процесса) и убить его с помощью PID. Используйте что-то вроде того,
ps aux | grep python
чтобы найти, какие процессы Python запущены, а затем использоватьkill <pid>
для отправкиSIGTERM
сигнала.Команда
kill
в Unix отправляетсяSIGTERM
по умолчанию, и программа Python может установить обработчик сигнала дляSIGTERM
использованияsignal
модуля. Теоретически любой обработчик сигналовSIGTERM
должен корректно завершать процесс. Но иногда, если процесс застревает (например, заблокирован в состоянии непрерывного сна ввода-вывода),SIGTERM
сигнал не имеет никакого эффекта, потому что процесс даже не может проснуться, чтобы обработать его.Чтобы принудительно убить процесс, который не отвечает на сигналы, вам необходимо отправить
SIGKILL
сигнал, который иногда называют,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-Break мощнее Ctrl-C
источник
Чтобы остановить запущенную программу, используйте Ctrl+, Cчтобы завершить процесс.
Чтобы обработать это программно на Python, импортируйте
sys
модуль и используйте егоsys.exit()
там, где вы хотите завершить программу.import sys sys.exit()
источник
Чтобы остановить скрипт python с помощью клавиатуры:
Ctrl
+C
Чтобы остановить его с помощью кода (у меня это сработало на Python 3):
import os os._exit(0)
вы также можете использовать:
import sys sys.exit()
или:
или:
raise SystemExit
источник
Ctrl + Z должен сделать это, если вы застряли в оболочке python. Имейте в виду, что экземпляры скрипта могут продолжать работать в фоновом режиме, поэтому в Linux вам нужно убить соответствующий процесс.
источник
jobs
илиps
to thenkill 8923754
или любой идентификатор задания / процесса, который вам нужно убитьКогда у меня есть скрипт python, запущенный на терминале Linux, CTRL + \ работает. (не CRTL + C или D)
источник
Control+ Dу меня работает на Windows 10. Также работает и установка
exit()
в конец.источник
exit () убьет ядро, если вы используете Jupyter Notebook, поэтому это не очень хорошая идея.
raise
команда остановит программу.источник
вы также можете использовать,
Activity Monitor
чтобы остановить процесс pyисточник
Чтобы остановить вашу программу, просто нажмите CTRL+D
или
exit()
.источник
Нажмите Ctrl+ Alt+, Deleteи появится диспетчер задач. Найдите запущенную команду Python, щелкните ее правой кнопкой мыши и выберите «Остановить» или «Убить».
источник
Если вы работаете со Spyder, используйте CTRL +. (DOT) и перезапустите ядро, а также остановите программу.
источник
Решение для Windows: Control + C.
Решение для Macbook: Control (^) + C.
Другой способ - открыть терминал, ввести
top
, записатьPID
процесс, который вы хотите убить, а затем ввести на терминале:kill -9 <pid>
источник