2010-05-19 3 views
8

-Прекратить подпроцесс в Windows, доступ запрещен

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.

+1

Я не могу воспроизвести вашу проблему. Я использую Python 2.6.6 и 6.0.472.63 для Windows 7, но процесс просто убит. – jsalonen

+0

Угадайте, что это просто проблема XP. Я добавил информацию о версии к вопросу. –

ответ

1

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

+0

Не уверен, что я понимаю ... «TASKKILL» не распознается как внутренняя или внешняя команда, операционная программа или командный файл. –

+0

не признан? он работает на моем xp, vista и windows 7 .. – relima

+0

А, по-видимому, taskkill поставляется только с XP Pro. Я запускаю Домашнее издание. "tskill " не работает, однако. –

2

Я не знаю, о 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.

Смежные вопросы