Is it possible to kill a process on Windows from within Python?
Solution 1:
I would think you could just use taskkill and the Python os.system()
import os
os.system("taskkill /im make.exe")
Note: I would just note you might have to fully qualify the taskkill path. I am using a Linux box so I can't test...
Solution 2:
Yes,You can do it
import os
os.system("taskkill /f /im Your_Process_Name.exe")
- /f : Specifies that process(es) be forcefully terminated.
- /im (ImageName ): Specifies the image name of the process to be terminated.
- For more info regarding TaskKill
Solution 3:
There is a nice cross-platform python utility psutil that exposes a kill() routine on a processes that can be listed with psutil.process_iter().
There is already an example in the other thread: https://stackoverflow.com/a/4230226/4571444
Solution 4:
You can use the TerminateProcess
of the win32 api to kill a process. See the following example : http://code.activestate.com/recipes/347462-terminating-a-subprocess-on-windows/
You need to give it a process handle. If the process is started from your code, the process handle is returned by the CreateProcess or popen.
If the process was started by something else, you need to get this handle you can use EnumProcess or WMI to retrieve it.
Solution 5:
How about this, I tested it with ActiveState Python 2.7:
import sys, traceback, os
def pkill (process_name):
try:
killed = os.system('tskill ' + process_name)
except Exception, e:
killed = 0
return killed
call it with:
pkill("program_name")