Muchas gracias. Los ejemplos en C y en Perl ya hacían un doble fork.
Ahora el probelma es que no sé dónde meter el setsid, ni cómo pasarle el mensaje de éxito al fork externo (bash tiene "fork and exec", no un "fork" explícito).
Esto es pseudocódigo para lo que quiero decir:
#/usr/local/sbin/blargh { setsid { #main code... } & if [ "$!" > "0" ] hacer el fork externo, si no, dar un exit -1... } &
Pues lo de obtener un valor de retorno o esperar es la parte complicada, porque setsid rompe toda relación con el proceso padre. Tendrías que lanzar con setsid un script que ponga el pid del proceso real en un fichero, o algo similar. No tengo ahora ningún ejemplo de uso a mano, la última vez que lo usé fue hace tiempo en una máquina del trabajo.
Re:setsid
(Puntos:2)( Última bitácora: Jueves, 29 Diciembre de 2011, 04:53h )
Ahora el probelma es que no sé dónde meter el setsid, ni cómo pasarle el mensaje de éxito al fork externo (bash tiene "fork and exec", no un "fork" explícito).
Esto es pseudocódigo para lo que quiero decir:
#/usr/local/sbin/blargh
{
setsid { #main code... } &
if [ "$!" > "0" ] hacer el fork externo, si no, dar un exit -1...
} &
Re:setsid
(Puntos:2)( http://barrapunto.com/ | Última bitácora: Domingo, 26 Junio de 2011, 17:42h )
Salu2