Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Jan 2013 10:36:30 -0500
From:      Greg Larkin <glarkin@FreeBSD.org>
To:        Grzegorz Blach <magik@roorback.net>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: How to launch services that do not fork to background using the rc infrastructure?
Message-ID:  <50FEB1FE.3030709@FreeBSD.org>
In-Reply-To: <50FEB055.8080601@roorback.net>
References:  <50FEAE0D.5090505@diatel.upm.es> <50FEB055.8080601@roorback.net>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 1/22/13 10:29 AM, Grzegorz Blach wrote:
> On 01/22/2013 04:19 PM, Javier Mart=EF=BF=ADn Rueda wrote:
>> The typical and simple rc.d script to launch a service has,
>> esentially, the following:
>>=20
>> . /etc/rc.subr
>>=20
>> name=3DSERVICE rcvar=3DSERVICE_enable
>>=20
>> command=3D"/usr/local/sbin/PROGRAM"
>>=20
>> pidfile=3D/var/run/${name}.pid=20
>> SERVICE_enable=3D${SERVICE_enable:-"NO"}
>>=20
>> load_rc_config ${name} run_rc_command "$1"
>>=20
>> One of the ports (net/spread4) runs a PROGRAM that does not fork
>> to background as a daemon and which does not have any
>> command-line option to ask it to do so. Therefore, the rc.d
>> script never finishes, with various consequences (system boot
>> stops, no pid file generated...)
>>=20
>> I tried adding a "&" to SERVICE_flags to see if it made it run in
>> the background, but it didn't do the trick. I also quickly
>> checked the /etc/rc.subr code to see if there is any way of
>> forcing a background launch, but couldn't see anything. No luck
>> searching the web or problem reports either.
>>=20
>> So, my question is whether there is a non-obvious way of forcing
>> a program to start in background using the rc infrastructure.
>>=20
>=20
>=20
> Try  command=3D"/usr/sbin/daemon -c -f -p $pidfile PROGRAM" or some
> thing like this.
>=20

Here's a full example of that in the ViewVC rc.d script:

http://svnweb.freebsd.org/ports/head/devel/viewvc/files/viewvc.in?revisio=
n=3D300896&view=3Dmarkup

Hope it helps,
Greg
- --=20
Greg Larkin

http://www.FreeBSD.org/           - The Power To Serve
http://www.sourcehosting.net/     - Ready. Set. Code.
http://twitter.com/cpucycle/      - Follow you, follow me
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.13 (Darwin)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlD+sf4ACgkQ0sRouByUApAdBgCfdwmbfCokv0Rxm50pTaqZkAkF
BGoAnjl27+rGvyV3DP4W5rsphL2dbZBd
=3DVi59
-----END PGP SIGNATURE-----



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50FEB1FE.3030709>