Scott James Remnant wrote: > On Thu, 2007-05-17 at 21:43 +0200, Daniel Exbrayat wrote: > > >> # svscan >> # >> # This service starts svscan DJBDNS utility which in turn starts the >> # DJBDNS services belonging to /etc/svscan >> # >> description "service svscan daemon (part of DJBDNS tools)" >> >> start on network_is_up >> stop on shutdown >> >> pre-start script >> PATH="/usr/local/bin" >> end script >> >> > This PATH won't affect anything, since the shell it is set in is lost at > the end of the script. You may have better luck with the following line > in the config file: > > env PATH=/usr/local/bin > > >> # by the way, I am wondering how to show status for each "DJBDNS" >> # services. Something like: >> >> > Is it possible to manually start each service? If so, you could use > instances to do this. > > Scott > I posted something on this earlier. I run the "services" directly, without supervise or svscan - because after all, svscan was also intended as an inittab replacement, and if we're using upstart it seems silly to continue trying to use multiple "master" daemons. An example for starting dnscache:
# dnscache # # This task runs the dnscache server. start on runlevel-1 start on runlevel-2 start on runlevel-3 start on runlevel-4 start on runlevel-5 start on runlevel-6 stop on shutdown exec envdir /var/lib/dnscache/env envuidgid dnscache \ softlimit -o250 -d "$DATALIMIT" /usr/bin/dnscache respawn ## EOF This works just dandy for executing dnscache. The downside is I don't know how to perform the logging. The manpage for djb's "supervise" says it creates a pipe between the primary service and the logger (typically the "multilog" program for djb stuff). I've tried building a script that includes logging: # dnscache # # This task runs the dnscache server. start on runlevel-1 start on runlevel-2 start on runlevel-3 start on runlevel-4 start on runlevel-5 start on runlevel-6 stop on shutdown script exec 2>&1 exec envdir /var/lib/dnscache/env \ envuidgid dnscache softlimit -o250 -d "$DATALIMIT" \ /usr/bin/dnscache | \ setuidgid dnslog multilog t /var/log/djbdns/dnscache end script respawn ## EOF And while dnscache runs, and multilog starts - it seems the pipe never gets created because multilog simply opens the logfile without writing anything. Output of "ps ax | grep 'dns'": 13593 ? Ss 0:00 /bin/sh -e -c exec 2>&1?exec envdir /var/lib/dnscache/env envuidgid dnscache softlimit -o250 -d "$DATALIMIT" /usr/bin/dnscache | setuidgid dnslog multilog t /var/log/djbdns/dnscache? /bin/sh 13594 ? S 0:00 /usr/bin/dnscache 13595 ? S 0:00 multilog t /var/log/djbdns/dnscache Since I have no shell knowledge, I'm probably missing something basic in my "exec" line. Any ideas? -- Daniel -- upstart-devel mailing list upstart-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/upstart-devel