Article View: es.comp.os.linux.programacion
Article #10826Re: Envio de señales a un demonio
From: Luis Angel Fdez. Fdez.
Date: Fri, 01 Feb 2002 19:50
Date: Fri, 01 Feb 2002 19:50
76 lines
3974 bytes
3974 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hola
A las 18:24 del viernes 01 de febrero,
Quato <quato74@hotmail.com>
hablando de Envio de se�ales a un demonio
en es.comp.os.linux.programacion dijo...
> Estoy programando un demonio que se encarga de leer un archivo de
> configuracion cada 5 segundos. Mi intenci�n es enviarle una se�al
> con la funcion:
Esto... �por qu� usas se�ales? �no te sirve una llamada a sleep()?
> kill(2) (paginas del manual)
> La se�al que le envi� es SIGCHLD. Segun las paginas del manual , la
> accion por defecto de esta se�al no es precisamente matar el proceso,
> sin� ignorar esta se�al.....
> Bien...lo que quiero es que el demonio acepte la se�al pero sin matar
> al propio demonio. Simplemente quiero variar su comportamiento y que
> lea un archivo de configuracion distinto.
>
> Para hacer esto me serv� de funciones tales como:
> sigemptyset
> sigprocmask
> sigpending..
> etc..
Hombre, yo voy a intentar contarte algo... pero no se si estar� meando
fuera del tiesto, porque esas funciones no las us� nunca, y creo que si
entend� bien lo que quieres hacer no har�an falta...
> Quiero que cuando reciba la se�al SIGCHLD, que la ignore y que lea
> otro archivo de configuracion.
Veamos, para hacerlo seg�n yo lo har�a no ignorar�as la se�al...
simplemente cuando te llegase la se�al leer�as el fichero...
Tendr�as una funci�n como la que sigue en el demonio:
void manejador(int senial) {
signal(SIGUSR1, SIG_IGN); /* Ignoramos la llegada de la se�al mientras */
/* estemos ejecutando el manejador */
/* Aqu� ir�a lo necesario para leer el */
/* fichero de configuraci�n */
signal(SIGUSR1, manejador); /* Restauramos el manejador */
}
Una vez que tienes esto, s�lo tendr�as que asignar este manejador dentro
del demonio, es decir una llamada a signal: signal(SIGUSR1, manejador);
Utilizo SIGUSR1, en lugar de SIGCHLD porque creo que resulta mas
apropiado. La llegada de SIGCHLD indica que un proceso hijo a terminado o
est� parado, con lo que no creo que deba usarse esa se�al para otra cosa, ya
que para otras cosas 'definidas por el usuario', como podr�a ser 'se�al que
llega cada cinco segundos' es para lo que est�n SIGUSR1 y SIGUSR2.
Espero haberme explicado bien... :)
Ta llueu
- --
Clave GPG: http://muxin.yi.org:2080/
http://muxin.dhis.org:2080/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQE8WvDFsrzbHhG/hp8RAqrMAJ4yJCjgHF5nVDhXz2K58SGmn6nunACgpZiM
OHSUc6HsMaVYEOcQv8GCVCs=
=O/Nc
-----END PGP SIGNATURE-----
Technical Details
Message-ID:
<slrna5ls62.15g.koxo@muxin.asturias.org>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!news.rediris.es!newsfeed.bt.es!news.bt.es!filemon.telecable.esReferences:
<dvml5u8t01iejqqs98degl9h6fik9v6q0e@4ax.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,c02c6a28313e97c9 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2002-02-01 11:51:07 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!news.rediris.es!newsfeed.bt.es!news.bt.es!filemon.telecable.es From: "Luis Angel Fdez. Fdez." <koxo@muxin.yi.org> Newsgroups: es.comp.os.linux.programacion Subject: Re: Envio de señales a un demonio Date: 1 Feb 2002 20:50:37 +0100 Organization: Baila, baila pingüino, baila Lines: 76 Message-ID: <slrna5ls62.15g.koxo@muxin.asturias.org> References: <dvml5u8t01iejqqs98degl9h6fik9v6q0e@4ax.com> Reply-To: koxo@wanadoo.es NNTP-Posting-Host: filemon.telecable.es Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit X-Trace: titan.bt.es 1012592574 23851 212.89.0.4 (1 Feb 2002 19:42:54 GMT) X-Complaints-To: abuse@bt.es NNTP-Posting-Date: 1 Feb 2002 19:42:54 GMT X-Operating-System: Linux 2.4.16 i686 User-Agent: slrn/0.9.7.3 (Linux) X-Original-NNTP-Posting-Host: cm03644.telecable.es X-Original-Trace: 1 Feb 2002 20:50:37 +0100, cm03644.telecable.es