Как завершить подпроцесс python, запущенный с shell = True

Я запускаю подпроцесс с помощью следующей команды:

p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)

Однако, когда я пытаюсь убить, используя:

p.terminate()

или

p.kill()

Команда продолжает работать в фоновом режиме, поэтому мне было интересно, как я могу действительно завершить процесс.

Обратите внимание, что когда я запускаю команду с помощью:

p = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)

, она успешно завершается при выполнении p.terminate () .

284
задан Piotr Dobrogost 21 October 2012 в 01:48
поделиться