Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Oct 2005 21:38:07 +0200
From:      Marco Molteni <molter@tin.it>
To:        hackers@freebsd.org
Subject:   Re: rc scripts: how to start a process that doesn't daemonize itself?
Message-ID:  <20051019213807.2b676e95.molter@tin.it>
In-Reply-To: <20051019153655.GB4225@dan.emsphone.com>
References:  <200510191715.21582.molter@tin.it> <20051019153655.GB4225@dan.emsphone.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 19 Oct 2005 10:36:55 -0500
Dan Nelson <dnelson@allantgroup.com> wrote:

> In the last episode (Oct 19), Marco Molteni said:
> > I have a program that I would like to control via a rc script,
> > say /usr/local/etc/rc.d/myprog
> > 
> > problem is this program needs to be put explicitly in background.
> > 
> > I was playing with things like
> > 
> > command="/usr/sbin/daemon /usr/local/bin/myprog"
> > 
> > but this obviously works only for the start case.
> > 
> > Should I just override start() completely or is there a
> > common way to do it? I don't think I can simply pass a "&"
> > somewhere...
> 
> Try putting the "&" in command_args; that way it'll only be used
> during startup.  I do that in some of my homegrown rc.d scripts.  A
> (probably cleaner) way is to set 
> 
> start_cmd="/usr/sbin/daemon /usr/local/bin/myprog"

thanks to you and the others posters for the & trick.

It works, but as you say it smells hackish. For one, it doesn't
detach from the controlling tty. Not a big deal when run from
init I think, but it may make a difference when run multiuser
from a terminal (say myprog forcestart).

anyway, better than nothing ;-)

thanks again
marco
-- 
He who receives an idea from me, receives instruction himself
without lessening mine; as he who lights his taper at mine,
receives light without darkening me. -- Thomas Jefferson



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051019213807.2b676e95.molter>