2011-04-11 79 views
8

¿Hay alguna manera de que python pueda cerrar una aplicación de Windows? Sé cómo iniciar una aplicación, pero ahora necesito saber cómo cerrarla.¿Cómo cerrar un programa usando python?

+0

¿Qué tipo de aplicación A qué se refiere? Una aplicación de Python? ¿Uno externo? – Stedy

+0

@Stedy Firefox, estoy usando Python para abrir una página web cada 2 horas y necesito cerrar esa página después de 5 minutos. – acrs

+0

@Stedy uno externo – acrs

Respuesta

9
# I have used os comands for a while 
# this program will try to close a firefox window every ten secounds 

import os 
import time 

# creating a forever loop 
while 1 : 
    os.system("TASKKILL /F /IM firefox.exe") 
    time.sleep(10) 
+0

Esto funciona pero obtengo __ Acceso denegado__. Estoy usando Windows. – Nabin

5

Si está utilizando Popen, debe poder finalizar la aplicación usando send_signal(SIGTERM) o terminate().

See docs here.

1

en las ventanas se puede utilizar taskkill dentro subprocess.call:

subprocess.call(["taskkill","/K","/IM","firefox.exe"]) 

Limpiador/solución más portátil con psutil (bueno, para Linux tienes que soltar el.210 parcial y la utilización .startwith("firefox"):

import psutil,os 
for pid in (process.pid for process in psutil.process_iter() if process.name()=="firefox.exe"): 
    os.kill(pid) 

que matará a todos los procesos nombrados firefox.exe

EDIT: os.kill(pid) es "una exageración". process tiene un método kill(), por lo que:

for process in (process for process in psutil.process_iter() if process.name()=="firefox.exe"): 
    process.kill() 
Cuestiones relacionadas