init.d startup script
Paul Howarth
paul at city-fan.org
Thu Feb 9 17:58:30 UTC 2006
Al Sparks wrote:
> This is a small thing, but it's bothering me.
>
> I've got a startup script placed in /etc/init.d that starts up Xvfb for
> me. I basically used the /etc/init.d/sendmail startup as a template.
>
> start() {
>
> # Start daemons.
> echo -n $"Starting $prog: "
> daemon Xvfb :1 -screen 0 6x6x8 -fp /usr/lib/X11/fonts/misc &
> RETVAL=0
> echo
> return $RETVAL
> }
>
> When I run
> # service Xvfb start
>
> I get "Starting Xvfb" w/o the "[ OK ]" at the end of the line. But
> Xvfb does start up.
>
> Also, when I do a
> # ps -Ao "%u %p %P %a" | grep Xvfb
> root 1528 1 /bin/bash /etc/init.d/Xvfb start
> root 1529 1528 initlog -q -c Xvfb :1 -screen 0 6x6x8 -fp /usr/lib/X11/fonts/misc
> root 1530 1529 Xvfb :1 -screen 0 6x6x8 -fp /usr/lib/X11/fonts/misc
>
> Now when I run the same startup without the "daemon" in front of the
> program name, I get
>
> # ps -Ao "%u %p %P %a" | grep Xvfb
> root 1583 1 Xvfb :1 -screen 0 6x6x8 -fp /usr/lib/X11/fonts/misc
>
> which seems more reasonable.
>
>
> Since I can get the script to startup what I want to start up, it's not
> a big deal. I'm only doing this for aesthetics. But still...
The "daemon" function is intended to be used with programs that put
themselves in the background, and doesn't work so well if you have to do
it yourself wuth "&".
I had a similar problem with the initscripts for bittorrent (seed and
tracker programs) in Fedora Extras. What I ended up with was along the
lines of:
echo -n $"Starting BitTorrent seed client: "
/sbin/runuser -s /bin/sh -c "$prog $OPTS" $USER >> $LOG 2>&1 &
disown -ar
usleep 500000
status btseed &> /dev/null && echo_success || echo_failure
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/btseed
echo
Something similar might work for you.
Paul.
More information about the fedora-list
mailing list