views:

237

answers:

4

-

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

Output: WindowsError: [Error 5] Access is denied

How can I kill the Chrome process?

Python 2.6 on Windows XP.

+1  A: 

I don't know about Windows, but have noticed on Linux that Google Chrome "protects" itself from operating system control signals in a way that few programs do:

$ 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

I suspect this may be the root cause of your troubles. Incidentally, I'm posting this note from process 2345.

msw
A: 

Anyone get a solution to this? This happens with every process, not just Chrome.

cemasoniv
Can you specify more? I suggest that you open a new question with your specific details in it so I can help!
jsalonen
I think the best bet is to find and close the window at the os level: http://python.net/crew/skippy/win32/Downloads.html. I'll post this as an answer as well...
Jesse Aldridge
+1  A: 

what happens if you use TASKKILL /F /PID [number of process ID] ? Give it a try. Launch it through import OS

relima
Not sure I understand... 'TASKKILL' is not recognized as an internal or external command, operable program or batch file.
Jesse Aldridge
not recognized? it works on my xp, vista, and windows 7..
relima
Ah, apparently taskkill only comes with XP Pro. I'm running Home edition. "tskill <pid>" does work, however.
Jesse Aldridge
A: 

I think the best bet is to find and close the window at the os level: http://python.net/crew/skippy/win32/Downloads.html.

Jesse Aldridge