Tony Nguyen wrote: > Mats Kindahl wrote: >> Hi all! >> >> I've been looking around the net to see if I can find a solution, but to >> no avail, so I'm writing this in the hope that somebody can shed some >> light or point me in the right direction. >> >> I'm trying to write a SMF manifest for a DDNS client (inadyn), but for >> some reason, svc.startd fails to notice that the daemon has started, and >> I have no clue how to tell it which process it is or find out what is >> going wrong. >> >> > So the daemon is already running? I'm guessing that it's the start > script that's failing > > echo "'$NAME' is already running" > > since pgrep would return the running daemon's pid.
Funny thing is that I've checked that the daemon is not running and then done a 'scvadm clear inadyn' and get these failures. > Can you do ptree -c `pgrep inadyn` to see if the daemon is started by > svc.startd? If the > daemon is indeed running and not started by svc.startd, I'm guessing > that killing the running daemon and restart it by 'svcadm clear inadyn' > should work. I'll check this, but AFAICT, the daemon is not running when I do a 'svcadm clear inadyn'. > >> Let's start with the failure I have: >> >> -bash-3.00$ svcs -xv inadyn >> svc:/network/ddns/client:inadyn (Dynamic DNS client) >> State: maintenance since Mon Nov 13 12:07:39 2006 >> Reason: Restarting too quickly. >> See: http://sun.com/msg/SMF-8000-L5 >> See: man -M /usr/local/man -s 8 inadyn >> See: /var/svc/log/network-ddns-client:inadyn.log >> Impact: This service is not running. >> >> and in the tail of the log, there is: >> >> -bash-3.00$ tail -20 /var/svc/log/network-ddns-client\:inadyn.log >> [ Nov 13 19:14:11 Executing start method >> ("/usr/local/lib/svc/method/inadyn-client start") ] >> 'inadyn' is already running >> [ Nov 13 19:14:12 Method "start" exited with status 0 ] >> [ Nov 13 19:14:12 Stopping because all processes in service exited. ] >> [ Nov 13 19:14:12 Executing stop method (:kill) ] >> [ Nov 13 19:14:13 Executing start method >> ("/usr/local/lib/svc/method/inadyn-client start") ] >> 'inadyn' is already running >> [ Nov 13 19:14:14 Method "start" exited with status 0 ] >> [ Nov 13 19:14:14 Stopping because service disabled. ] >> [ Nov 13 19:14:14 Executing stop method (:kill) ] >> >> The manifest is attached, but the start method is: >> >> <exec_method type='method' name='start' >> exec='/usr/local/lib/svc/method/inadyn-client %m' >> timeout_seconds='300'> >> <method_context> >> <method_credential user="root" group="root"/> >> </method_context> >> </exec_method> >> >> which uses the inadyn-client script (that I wrote), containing the >> following lines (code edited): >> >> #!/sbin/sh >> >> . /lib/svc/share/smf_include.sh >> >> NAME=inadyn >> DAEMON=/usr/local/bin/$NAME >> . >> . >> . >> case $1 in >> start) >> if [ ! -x $DAEMON ]; then >> echo "$DAEMON is not executable, not starting" >> exit $SMF_EXIT_ERR_CONFIG >> fi >> if [ ! -r $CONF ]; then >> echo "$CONF not readable, not starting" >> exit $SMF_EXIT_ERR_CONFIG >> fi >> if pgrep $NAME >/dev/null; then >> echo "'$NAME' is already running" >> else >> $DAEMON & >> sleep 1 >> fi >> ;; >> . >> . >> . >> esac >> >> exit $SMF_EXIT_OK >> >> When I call the 'inadyn-client' script directly, the daemon starts well >> and keeps going without a glitch, but when svc.startd tries to start it, >> it decides somehow that "all processes in the service exited". AFAICT, >> this is not the case. >> >> > The daemon is running and the 'inadyn-client start' doesn't fail with > "inadyn is already running"? Please provide the above information and > hopefully things will be clearer. > > -tony > >> So, the questions are: >> - How do svc.startd decide if a process is in the service? >> - Is there a way to find out what is going wrong? >> >> Best wishes, >> Mats Kindahl >> _______________________________________________ >> smf-discuss mailing list >> smf-discuss at opensolaris.org >> > > -- Mats Kindahl Replication Team MySQL AB, www.mysql.com -------------- next part -------------- A non-text attachment was scrubbed... Name: mats.vcf Type: text/x-vcard Size: 199 bytes Desc: not available URL: <http://mail.opensolaris.org/pipermail/smf-discuss/attachments/20061114/638a21b5/attachment.vcf>