The typical and simple rc.d script to launch a service has, esentially, the following:

. /etc/rc.subr

name=SERVICE
rcvar=SERVICE_enable

command="/usr/local/sbin/PROGRAM"

pidfile=/var/run/${name}.pid
SERVICE_enable=${SERVICE_enable:-"NO"}

load_rc_config ${name}
run_rc_command "$1"

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...)

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.

So, my question is whether there is a non-obvious way of forcing a program to start in background using the rc infrastructure.

_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to