cerrar aplicaciones
Inigo Aldazabal Mensa
ialdazabal en ehu.es
Mie Mayo 10 13:39:00 CEST 2006
En bash es trivial hacer un script para lo que comentaba Miguel Angel.
Si quieres cerrar por ejemplo Mplayer sería algo como:
#!/bin/bash
PROCESOS=$(ps aux | grep Mplayer | grep -v grep | awk '{print $2}' )
for proceso in $PROCESOS
do
kill -15 $proceso #o quizas -9
done
Venga!
El Wednesday, 10 de May de 2006 13:16, Tny escribió:
> Si yo tengo poca idea de linux mi hermano tiene menos, así que lo pondré
> en el cron para que se arranke entre la 00 y las 10 cada 5 minutos, y
> así evito lo de los threads y los sleeps.
>
> De momento me conformo con el de wxp, ya haré una versión para linux
> cuando se le ocurra a mi hermano utilizarlo para poner la puñetera música.
>
> Gracias
>
> Inigo Aldazabal Mensa escribió:
> > Ahora releo lo de "mas escondido"... tendrías que hacer un demonio. Justo
> > hace un día o dos se puso por aquí un ejemplo de cómo hacerlo en python.
> >
> > De todas formas a mi me parece que con el cron va que chuta. Si lo va a
> > mirar ahí probablemente mire también los demonios, digo yo...
> >
> > Venga!
> >
> > El Wednesday, 10 de May de 2006 12:54, Inigo Aldazabal Mensa escribió:
> >> Hola!
> >>
> >> Una vez escrito tendrías que añadirlo al crontab para que se ejecutase a
> >> la hora que tu quieres todos los días, solo algunos, etc (también cada
> >> cierto intervalo de tiempo, etc, es muy versátil)
> >>
> >> Mira en google "cron tutorial" o "cron howto" para ver exactamente como
> >> hacerlo, pero no tiene especial dificultad.
> >>
> >> Si usas kde (creo recordar que knoppix lo usa por defecto) se que hay
> >> una interface gráfica "kcron", pero nunca la he usado.
> >>
> >> Venga!
> >>
> >> Iñigo
> >>
> >> El Wednesday, 10 de May de 2006 12:41, Miguel Angel escribió:
> >>> No tengo mucha idea, pero te mando algunas pistas:
> >>>
> >>> En Linux te bastaría con averiguar cuál es el PID del programa que está
> >>> ejecutándose. Una vez que lo tengas, sólo tienes que mandarle la señal
> >>> -15 (para darle una oportunidad) y/o -9 (para matarlo completamente).
> >>>
> >>> Si quieres que se ejecute al encender el PC (no lo entiendo, pero
> >>> bueno), el lugar adecuado es /etc/rcX.d (siendo X el nivel en el que
> >>> inicias; ante la duda, ponlo en todos).
> >>>
> >>> En GNU/Linux no nos gustan las cosas escondidas (propician virus), así
> >>> que si lo inicializas así, siempre puedes hacer un "ps fax" y localizar
> >>> tu programita; con un "kill -9 PID" te lo cargas y deja de molestar :-D
> >>>
> >>>
> >>> Espero que eso te ayude, aunque no he dicho nada de python...
> >>>
> >>> El mié, 10-05-2006 a las 11:35 +0200, Tny escribió:
> >>>> Hoy mismo he hecho en vb.net, y puesto para que se arranque un
> >>>> programa para cerrar el winamp y el media player por la noche. (Mi
> >>>> hermano pone música y a mí me molesta...)
> >>>>
> >>>> Me gustaría hacer lo mismo en python para linux, (knoppix 4.02 ES
> >>>> instalado como devian)
> >>>>
> >>>> ¿Cómo se haría en python para capturar los procesos activos y
> >>>> cerrarlos? ¿y el threading en python? todavía no lo tengo nada claro.
> >>>> y para rematar ¿para que se ejecute al arrancar linux? ¿tal vez con el
> >>>> cron? pero ¿algo más escondido?
> >>>>
> >>>> ¿Cómo quedaría en python?
> >>>>
> >>>>
> >>>> en vb.net me queda así:
> >>>> Module Module1
> >>>> Sub Main()
> >>>> Dim h As Threading.Thread = New Threading.Thread(AddressOf
> >>>> hilo) h.Priority = Threading.ThreadPriority.BelowNormal
> >>>> Dim t As Threading.Thread = Threading.Thread.CurrentThread
> >>>> t.Priority = Threading.ThreadPriority.BelowNormal
> >>>> Dim ahora = Now.ToShortTimeString
> >>>> While "10:00" < ahora And ahora < "23:59"
> >>>> t.Sleep(1800000)
> >>>> ahora = Now.ToShortTimeString
> >>>> End While
> >>>> h.Start()
> >>>> End Sub
> >>>> Private Sub hilo()
> >>>> Do
> >>>> Threading.Thread.CurrentThread.Sleep(60000)
> >>>> apagarMusica()
> >>>> Loop
> >>>> End Sub
> >>>> Private Sub apagarMusica()
> >>>> Dim Procesos As Process() = Process.GetProcesses()
> >>>> Dim Proceso As Process
> >>>> For Each Proceso In Procesos
> >>>> If Proceso.ProcessName = "winamp" Or Proceso.ProcessName =
> >>>> "wmplayer" Then Proceso.Kill()
> >>>> Next Proceso
> >>>> End Sub
> >>>> End Module
> >>>>
> >>>>
> >>>> Gracias
> >>>> _______________________________________________
> >>>> Python-es mailing list
> >>>> Python-es en aditel.org
> >>>> http://listas.aditel.org/listinfo/python-es
> >>>>
> >>>> ----------------------------------------------------------------------
> >>>>--
> >>>>
> >>>> _______________________________________________
> >>>> Python-es mailing list
> >>>> Python-es en aditel.org
> >>>> http://listas.aditel.org/listinfo/python-es
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es