Как завершить процесс Python, похожий на Ctrl-C?

385
Ze'ev

Если у меня открыто несколько окон терминала, каждое из которых запускает скрипт на Python, есть ли способ завершить одно окно с помощью PID, как если бы я нажал ctrl-c?

С помощью ctrl-c скрипт завершается корректно, но я пробовал различные kill -sкоманды, и все они вызывали его завершение без перехвата основного (бесконечного) whileцикла скрипта .

Есть некоторые «очистительные» действия, которые выполняются после ctrl-c.

0
`kill -2 PID` эквивалентен` Ctrl-C`, но я не знаю, попадут ли они в цикл ЦП. AFH 5 лет назад 1
@AFH Да, это было сделано! Принят ответ! Ze'ev 5 лет назад 0

1 ответ на вопрос

1
AFH

Набор текста CtrlCгенерирует сигнал № 2 ( SIGINT). Тот же сигнал генерируется:

kill -2 PID 

или же:

kill -SIGINT PID 

Вы можете перечислить все номера и имена сигналов с помощью:

kill -l 
Или просто `kill -INT PID` для краткости! Shou Ya 5 лет назад 1
@ShouYa - Спасибо, я забыл, что префикс `SIG` является необязательным. AFH 5 лет назад 0

Похожие вопросы