2010-05-19 5 views
8

-Zakończyć podproces w systemie Windows, odmowa dostępu

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() 

wyjściowa: WindowsError: [Error 5] Access is denied

Jak mogę zabić proces Chrome?

Python 2.6 w systemie Windows XP.

+1

Nie mogę odtworzyć Twojego problemu. Używam Python 2.6.6 i 6.0.472.63 na Windows 7, ale proces zostanie zabity. – jsalonen

+0

Zgadnij, że to tylko kwestia XP. Dodałem informację o wersji do pytania. –

Odpowiedz

1

co się stanie, jeśli użyjesz TASKKILL/F/PID [numer ID procesu]? Spróbuj. Uruchom go poprzez import OS

+0

Nie jestem pewien, że rozumiem ... "TASKKILL" nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy. –

+0

nie rozpoznano? działa na moim XP, Vista i Windows 7 .. – relima

+0

Ah, najwyraźniej taskkill pochodzi tylko z XP Pro. Używam wersji domowej. "tskill " działa jednak. –

2

nie wiem o Windows, ale zauważyłem, że na Linuksie Google Chrome „chroni” się od sygnałów sterujących systemu operacyjnego w sposób, który kilka programów zrobić:

$ 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 

Podejrzewam, może to być podstawową przyczyną twoich problemów. Nawiasem mówiąc, publikuję tę notatkę z procesu 2345.