Thread View: es.comp.os.linux.programacion
8 messages
8 total messages
Started by pacolinx
Sun, 11 Sep 2005 14:23
Comprobar que un proceso esta en ejecución (pid)
Author: pacolinx
Date: Sun, 11 Sep 2005 14:23
Date: Sun, 11 Sep 2005 14:23
15 lines
1722 bytes
1722 bytes
Hola
Me gustaria saber como poder hacer un script que compruebe si una
aplicacion esta en marcha y sino esta que la lance.
He pensado en la gestion del pid pero no se como hacerlo.
Gracias
--
|||
(o o)
(_)
--oOOo-oOOo----------------------------------------------
Pacolinux. http://pagina.de/pacodebian Valencia (Spain)
Linux Debian Reg. User #1000434411 (http://counter.li.org)
--oOOo-oOOo----------------------------------------------
La cita de hoy:
A�o nuevo, vida nueva.
Re: Comprobar que un proceso esta en ejecución (pid)
Author: Gonzalo Pérez de Olaguer Córdoba
Date: Sun, 11 Sep 2005 15:13
Date: Sun, 11 Sep 2005 15:13
28 lines
2354 bytes
2354 bytes
Hola pacolinx <contestaralgrupo@microsoft.com> el Sun, 11 Sep 2005 16:23:28 +0200 escribiste: > Me gustaria saber como poder hacer un script que compruebe si una > aplicacion esta en marcha y sino esta que la lance. > He pensado en la gestion del pid pero no se como hacerlo. Lo más habitual es hacer que la aplicación, al arrancar, genere el fichero /var/run/NOMBRE.pid, conteniendo su PID, y lo borre al finalizar. Esto sólo vale para el caso en que sólo deba estar en ejecución una instancia de la aplicación. En este caso la aplicación debe comprobar, al arrancar, que no exista ya una instancia en ejecución. Además, se suele verificar que el PID indicado en el fichero sea válido, caso de que la aplicación haya finalizado inesperadamente sin borrar el fichero. Si la aplicación no hace eso y no puedes/quieres modificarla puedes hacer un "wrapper" que gestione el ficherillo en cuestión. Alternativamente puedes usar ps(1) para localizar la aplicación por su nombre, entre los programas que se están ejecutando. -- Gonzalo Pérez de Olaguer Córdoba <gpoc@iies.es> PGP key 2861C704 --- F206 5671 6789 425D 111C 1302 214F 1934 2861 C704
Re: Comprobar que un proceso esta en ejecución (pid)
Author: pacolinx
Date: Sun, 11 Sep 2005 17:02
Date: Sun, 11 Sep 2005 17:02
28 lines
2389 bytes
2389 bytes
Gonzalo P�rez de Olaguer C�rdoba el Domingo, 11 de Septiembre de 2005 17:13
dijo as� :
>> Me gustaria saber como poder hacer un script que compruebe si una
>> aplicacion esta en marcha y sino esta que la lance.
>> He pensado en la gestion del pid pero no se como hacerlo.
>
> Lo m�s habitual es hacer que la aplicaci�n, al arrancar, genere el
> fichero /var/run/NOMBRE.pid, conteniendo su PID, y lo borre al
> finalizar. Esto s�lo vale para el caso en que s�lo deba estar en
> ejecuci�n una instancia de la aplicaci�n.
Algien tiene un ejemplo simple?
Me gustaria ver alguno hecho.
La idea es aplicarlo a un tuner invertido son ssh, q debe
esta siempre en marcha.
Gracias
--
|||
(o o)
(_)
--oOOo-oOOo----------------------------------------------
Pacolinux. http://pagina.de/pacodebian Valencia (Spain)
Linux Debian Reg. User #1000434411 (http://counter.li.org)
--oOOo-oOOo----------------------------------------------
La cita de hoy:
Soledad: Un instante de plenitud.
-- Michel de Montaigne. (1553-1592) Fil�sofo franc�s.
Re: Comprobar que un proceso esta en ejecución (pid)
Author: Gonzalo Pérez de Olaguer Córdoba
Date: Sun, 11 Sep 2005 17:42
Date: Sun, 11 Sep 2005 17:42
53 lines
2599 bytes
2599 bytes
Hola pacolinx <contestaralgrupo@microsoft.com> el Sun, 11 Sep 2005 19:02:46 +0200 escribiste: > >> Me gustaria saber como poder hacer un script que compruebe si una > >> aplicacion esta en marcha y sino esta que la lance. > >> He pensado en la gestion del pid pero no se como hacerlo. > > > > Lo más habitual es hacer que la aplicación, al arrancar, genere el > > fichero /var/run/NOMBRE.pid, conteniendo su PID, y lo borre al > > finalizar. Esto sólo vale para el caso en que sólo deba estar en > > ejecución una instancia de la aplicación. > Algien tiene un ejemplo simple? > Me gustaria ver alguno hecho. esto sólo vale como idea: #!/bin/sh RUNFILE=/var/run/test.pid if [ -e "$RUNFILE" ]; then echo "$0: ya estoy corriendo" exit 1 fi trap "rm -f $RUNFILE" EXIT echo "$$" > $RUNFILE echo "$0: mátame para terminar" while (`true`); do sleep 5 echo -n '.' done exit 0 lo puedes matar ejecutando: kill `cat /var/run/test.pid` > La idea es aplicarlo a un tuner invertido son ssh, q debe > esta siempre en marcha. pues yo casi que lo metería en inittab(5) y dejaría que init(8) se encargue de mantenerlo en funcionamiento mira la 'action' respawn -- Gonzalo Pérez de Olaguer Córdoba <gpoc@iies.es> PGP key 2861C704 --- F206 5671 6789 425D 111C 1302 214F 1934 2861 C704
Re: Comprobar que un proceso esta en ejecución (pid)
Author: pacolinx
Date: Sun, 11 Sep 2005 20:16
Date: Sun, 11 Sep 2005 20:16
25 lines
2086 bytes
2086 bytes
Gonzalo P�rez de Olaguer C�rdoba el Domingo, 11 de Septiembre de 2005 19:42
dijo as� :
>> La idea es aplicarlo a un tuner invertido son ssh, q debe
>> esta siempre en marcha.
>
> pues yo casi que lo meter�a en inittab(5) y dejar�a que
> init(8) se encargue de mantenerlo en funcionamiento
>
> mira la 'action' respawn
Gracias lo he probado y va de cine
Yo tenia pensado lanzar un script cada x minutos que si existe el fichero
pid, no haga nada y sino lo lance de nuevo pq ha caido.
--
|||
(o o)
(_)
--oOOo-oOOo----------------------------------------------
Pacolinux. http://pagina.de/pacodebian Valencia (Spain)
Linux Debian Reg. User #1000434411 (http://counter.li.org)
--oOOo-oOOo----------------------------------------------
La cita de hoy:
A�o de brevas, nunca lo veas.
Re: Comprobar que un proceso esta en ejecución (pid)
Author: JFL
Date: Mon, 12 Sep 2005 06:53
Date: Mon, 12 Sep 2005 06:53
15 lines
1651 bytes
1651 bytes
pacolinx escribi�:
> Hola
> Me gustaria saber como poder hacer un script que compruebe si una
> aplicacion esta en marcha y sino esta que la lance.
> He pensado en la gestion del pid pero no se como hacerlo.
> Gracias
otro si no es de esos programas que dejan el pid. Lo puedes poner en el
cron para levantar cualquier demonio caido:
PID=`ps -uxcaw | grep 'named' | awk '{ print $2 }'`
if [ "$PID" == "" ]; then
/usr/sbin/named
fi
Re: Comprobar que un proceso esta en ejecución (pid)
Author: Benjamín Albiñana
Date: Mon, 12 Sep 2005 15:26
Date: Mon, 12 Sep 2005 15:26
22 lines
1775 bytes
1775 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Cuando: Mon, 12 Sep 2005 06:53:59 GMT
Quien: JFL <nonono@kkk.com>
Que: Re: Comprobar que un proceso esta en ejecuci�n (pid)
> PID=`ps -uxcaw | grep 'named' | awk '{ print $2 }'`
�y todo eso no se podr�a sustituir con un pgrep?
PID=$(pgrep 'named')
- --
Los dioses que sonrieron cuando naciste, ahora se est�n descojonando...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFDJZ41633hg168lHwRAuaXAKCWh6CEOQmErNXZoD1WtliOPVuLRgCgl9BW
1NVToQ7PO3jJFLbRmOgZmbs=
=i676
-----END PGP SIGNATURE-----
Re: Comprobar que un proceso esta en ejecución (pid)
Author: JFL
Date: Mon, 12 Sep 2005 17:31
Date: Mon, 12 Sep 2005 17:31
16 lines
1816 bytes
1816 bytes
Benjam�n Albi�ana escribi�:
> Cuando: Mon, 12 Sep 2005 06:53:59 GMT
> Quien: JFL <nonono@kkk.com>
> Que: Re: Comprobar que un proceso esta en ejecuci�n (pid)
>
>
>>> PID=`ps -uxcaw | grep 'named' | awk '{ print $2 }'`
>
>
> �y todo eso no se podr�a sustituir con un pgrep?
>
> PID=$(pgrep 'named')
>
sip, pero no es tan estandar. Yo por ejemplo no lo tengo en el freebsd,
que no lo han incluido hasta el 5.4 (creo).
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads