В Windows Убить приложение через Python

1

Я пытаюсь убить внешние запущенные приложения, такие как Windows Paint, .mp3 и подобные программы через скрипт python.

Я открываю программу через os.startfile. Любые идеи, как я могу эффективно закрыть программы? Я использую машину Windows 7. Я был бы признателен за помощь! Благодарю!

  • 0
    Похоже, что лучший ответ на этот вопрос будет делать то, что вы ищете: stackoverflow.com/questions/5780425/…
  • 0
    Что если я не хочу проходить через метод подпроцесса?
Теги:

3 ответа

3
Лучший ответ

Начиная с Python 2.7 os.kill работает в Windows. Вы можете найти PID, используя этот рецепт.

  • 0
    Это работает. Спасибо, Дэн! Немного сложно, хотя ...
  • 0
    Пожалуйста. Я согласен, что это сложнее, чем я ожидал.
0

Когда вы попросите Windows запустить что-то с os.startfile(), вы не получите дескриптор созданного процесса. Это связано с тем, что основная функция ShellExecute() не возвращает дескриптор созданного процесса. Я считаю, что это связано с тем, что не все действия фактически приводят к созданию процесса вообще (например, с помощью COM-серверов в процессе или других эзотерий).

0

Popen позволит вам убить открытый процесс, но не будет запрашивать сохранение файлов и т.д.

p = subprocess.Popen(['notepad', 'tmp.txt'])
#later
p.kill()
  • 0
    Могу ли я открыть не .exe файлы с помощью P.open ?
  • 0
    Я только что попробовал, и это не похоже на это: WindowsError: [Ошибка 193]% 1 не является допустимым приложением Win32

Ещё вопросы

Сообщество Overcoder
Наверх
Меню