rc scripts: how to start a process that doesn't daemonize
itself?
Marco Molteni
molter at tin.it
Wed Oct 19 12:36:41 PDT 2005
On Wed, 19 Oct 2005 10:36:55 -0500
Dan Nelson <dnelson at 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
More information about the freebsd-hackers
mailing list