Завершение внешних программ с помощью Python - PullRequest
1 голос
/ 17 мая 2011

Я пишу программу, которая должна быть в состоянии убить определенные процессы. Две строки, которыми я сейчас пользуюсь; однако вторая строка os.system (task) запускает командную строку на долю секунды, пока завершается процесс. Есть ли эквивалентные строки, которые не запускают командную строку?

Фрагмент:

task = 'taskkill /im ' + taskname + ' /f'
os.system(task)

Это в Windows 7, если вы не догадались.

1 Ответ

3 голосов
/ 17 мая 2011

Попробуйте использовать subprocess.check_call вместо os.system. Это не запустит процесс в окне консоли.

import subprocess
taskname = '...'
task = 'taskkill /im ' + taskname + ' /f'
subprocess.check_call(task, shell=True)
...