Я запускает подпроцесс с помощью следующей команды:Как прекратить питона подпроцесс запускается с оболочкой = True
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
Однако, когда я пытаюсь убить с помощью:
p.terminate()
или
p.kill()
Команда продолжает работать в фоновом режиме, поэтому мне было интересно, как я могу фактически прекратить обработку s.
Обратите внимание, что при запуске команды с:
p = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)
Он прекращает успешно при выдаче p.terminate()
.
Как выглядит ваш 'cmd'? Он может содержать команду, которая запускает несколько процессов для запуска. Поэтому неясно, о каком процессе вы говорите. –
Связанный: [Python: как убить дочерний процесс (ы), когда родитель умирает?] (Http://stackoverflow.com/q/23434842/4279) – jfs