Foros Python

Versión completa: Redireccionar comando windows a archivo de texto
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Necesito redireccionar la llamada a tasklist de windows a un fichero de texo para poder leerlo y matar unos procesos que tienen nombre variable , pero que siempre empiezan igual , necesito matar :

dnieservice.exe
dni3edhy.tmp.exe

otra vez seran:

dnieservice.exe
dniaqr56.tmp.exe

Puedo matar sin problema dnieservice , pero necesito saber el nombre del otro proceso , por eso necesito poder redireccionar el resultado de tasklist a un fichero de texto .

Alguna idea?

Lo que pretendo hacer es esto :

Tasklist > C:\LectorDocum\task.tx
Por si a alguien le sirve he conseguido simular la redireccion haciendo esto :

b=os.popen('tasklist','r',-1)
j = b.read()
print j
Puedes usar el módulo psutil. En tu caso tendrías que buscar los procesos que comiencen con "dni":

Código:
for process in psutil.process_iter():
    if process.name.startswith("dni"):
        print(process.pid)  # ID del proceso.

Saludos.
Lo acabo de solucionar , pego codigo por si en un futuro a alguien le sirve con otros procesos

Código:
b=os.popen('tasklist','r',-1)
c=b.read()
outfile = open("c:\LectorDocum\task.txt", 'w') # Indicamos el valor 'w'.
texto=str(c)#Convertir a string c
outfile.write(texto)
outfile.close()
#Leemos el contenido para matar los procesos generados por dni
infile = open("c:\LectorDocum\task.txt", 'r')
print "Buscando ......."
for linea in infile:
       if linea[0:3]=="DNI":
               kill(linea[:11])
# Cerramos el fichero.
infile.close()

en la 4 linea es texto = str© , no se porque lo convierte asi
Es un error del resaltado de sintaxis. Lo solucionaré en cuanto pueda.

Es una buena práctica utilizar linea.startswith("DNI") en lugar de linea[0:3]=="DNI", mejora la legibilidad Smile.

Saludos.