Завершить подпроцесс в Windows, доступ запрещен - PullRequest
8 голосов
/ 19 мая 2010

-

import time
import subprocess
from os.path import expanduser

chrome_path = expanduser('~\Local Settings\Application Data\Google\Chrome\Application\chrome.exe')

proc = subprocess.Popen(chrome_path)
time.sleep(4)
proc.terminate()

Выход: WindowsError: [Error 5] Access is denied

Как убить процесс Chrome?

Python 2.6 в Windows XP.

Ответы [ 3 ]

2 голосов
/ 19 мая 2010

Я не знаю о Windows, но заметил в Linux, что Google Chrome «защищает» себя от сигналов управления операционной системой так, как это делают немногие программы:

$ ps -lp 2345
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S  1000  2345     1  0  80   0 - 17699 skb_re ?        00:00:00 chrome
$ kill -TERM 2345
$ kill -HUP 2345
$ kill -SEGV 2345
$ ps -lp 2345
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S  1000  2345     1  0  80   0 - 17699 skb_re ?        00:00:00 chrome

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

1 голос
/ 08 октября 2010

что произойдет, если вы используете TASKKILL / F / PID [номер идентификатора процесса]?Попробуйте.Запустите его через импорт ОС

0 голосов
/ 09 октября 2010

Я думаю, что лучше всего найти и закрыть окно на уровне ОС: http://python.net/crew/skippy/win32/Downloads.html.

...