.:LugSaJu:.

Acerca de

Grupo de Usuarios Linux San Juan - Argentina

Uvita ;)

Búsqueda












Sindicación

Añadir a Feedness
RDF XML ATOM

Viernes, 06 de enero de 2006

Resucitar un proceso.

Estuve buscando una forma de reiniciar un proceso si se cae, y bueno, estuve experimentando un poco con bash sobre el tema, y si bien, basicamente lo logre, era un script de unas 20 lineas, luego en un foro vi una persona que ocupaba el comando pgrep y lo adapté al script, que ahora ocupa 1 linea!
Bueno, es para un proceso muy basico asi como el proposito. Muchas veces dejo encendido el notebook con el amule ejecutandose, y este se sabe cerrar, asique con este pequeño script me aseguro que vuelva a revivir si muere.

Primero creo el script:

$ vi resucitar

while true; do pgrep $1 || $1; done
guardo, salgo y lo hago ejecutable

$chmod u+x resucitar

Luego para ejecutarlo
$resucitar amule

y ya está el código es bastante simple, lo explico:
while true;: mientras sea cierto, como no comparo nada, creo un bucle infinito
do pgrep $1 || $1; El comando pgrep obtiene el PID del 1º argumento que di en el script, por ejemplo, amule; luego le digo, si no es verdad (o logico, ||) que existe ese proceso, que ejecute el argumento
done: Finaliza el while, y vuelve a principio porque no ha cambiado la condición (true) y no cambiará
Para finalizar el programa, CTRL+C en la consola.

Por: Jorge Mestre | consola-bash | Comentarios (4) | Referencias (0)

Comentarios

Bien Jorgito, muy util el articulo.
Ernesto...ahi tenes algo que podria adaptarse pa' reviví la barra 'e tarea, changoo!!!
Muchas gracias.

Carlos | 06-01-2006 19:42:58

Excelente Jorgito!!! muy util de verdad

Ernesto Gremoliche | 07-01-2006 03:03:26

Muchas gracias, como les comenté, se puede mejorar Muchisimo, pero la idea es la utilidad y simpleza que tiene. Mejor hacer lo que hacemos y no postear a ver cuando nos juntamos, como godzilla :P

Jorge | 07-01-2006 04:15:08

Que tal Jorge tu script es muy util, ya que yo necesito hacer que busque un proceso cada hora y si no esta ejecutandose que lo inicie nuevamente, para esto tengo que mover algo de tu script?

soy principiante es por eso mi pregunta.

muchas gracias

payo | 03-07-2006 20:20:39

Comentar


Recordar datos

LaInformacion.com lainformacion.com - Medio Oficial de los Premios Bitacoras 2009