Date: Thu, 06 Dec 2012 15:10:40 -0600 From: Paul Schmehl <pschmehl_lists@tx.rr.com> To: Chris Rees <crees@FreeBSD.org>, Paul Schmehl <pschmehl_lists@tx.rr.com>, freebsd-rc@freebsd.org Cc: FreeBSD Ports List <freebsd-ports@freebsd.org> Subject: Re: rc.subr questions Message-ID: <0FC50D96AC60C2D7BEFC786A@utd71538.campus.ad.utdallas.edu> In-Reply-To: <CADLo838ty4_ryGLQo9h5Ze2oA0WXvX3Yc4vV9Ei9HjG0whLkfg@mail.gmail.com> References: <DC59D265988CEDF1F3DC5C6D@utd71538.campus.ad.utdallas.edu> <CADLo838ty4_ryGLQo9h5Ze2oA0WXvX3Yc4vV9Ei9HjG0whLkfg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--On December 6, 2012 8:45:50 PM +0000 Chris Rees <crees@FreeBSD.org> wrote: > [CC rc@] > > On 6 December 2012 20:36, Paul Schmehl <pschmehl_lists@tx.rr.com> wrote: >> I'm trying to figure out how to get an rc.subr script to start and stop a >> script. >> >> This works from the commandline (to start it): >> tclsh /usr/local/bin/dir/script -D -c /usr/local/etc/conffile >> >> I've tried various combinations of: >> >> command_interpreter >> argument_precmd >> command_args >> >> but I keep getting this error: >> unknown directive '/usr/local/bin/sguil-sensor/pads_agent.tcl' >> >> Doesn't matter if I make that string the val for command and don't use >> command_interpreter or do use command_interpreter. >> >> I've read the man page over and over, but I'm clueless as to how to use >> run_rc_script, which I *think* is the right way to call this script. >> > > Make the script executable It is. , put a shebang in; #!/usr/bin/env tclsh Here's the current script's starting lines: #!/bin/sh # Run tcl from users PATH \ exec tclsh "$0" "$@" > ># !/bin/sh > > . /etc/rc.subr > > name=tclshexample > rcvar=tclshexample_enable > > load_rc_config $name > > : ${tclshexample_enable=YES} > > command="/usr/local/bin/dir/script" > command_interpreter=tclsh > command_args="-D -c /usr/local/etc/conffile" > > run_rc_command $@ > > http://www.bayofrum.net/~crees/scratch/tclshexample > > Would be much easier if you were to provide specifics or the actual > script :) > > Chris > Here's the rc script I'm working on. . /etc/rc.subr load_rc_config pads_agent #set defaults pads_agent_enable=${pads_agent_enable:-"NO"} pads_agent_conf=${pads_agent_conf:-"/usr/local/etc/sguil-sensor/pads_agent.conf"} pads_agent_flags="${pads_agent_flags}:-"-D -c ${pads_agent_conf}" name="pads_agent" rcvar=pads_agent_enable command="/usr/local/bin/sguil-sensor/pads_agent.tcl" command_interpreter="tclsh" command_args=${pads_agent_flags} run_rc_command "$@" Here's the error I'm getting when I run start: /usr/local/etc/rc.d/pads_agent: WARNING: $command_interpreter tclsh != /bin/sh Starting pads_agent. /usr/local/etc/rc.d/pads_agent: WARNING: $command_interpreter tclsh != /bin/sh /usr/local/etc/rc.d/pads_agent: unknown directive '/usr/local/bin/sguil-sensor/pads_agent.tcl'. Usage: /usr/local/etc/rc.d/pads_agent [fast|force|one|quiet](start|stop|restart|rcvar|status|poll) /usr/local/etc/rc.d/pads_agent: WARNING: failed to start pads_agent I tried changing the interpreter to "/bin/sh" but I got the same error. Here's the perms on the script: # ls -lsa /usr/local/bin/sguil-sensor/pads_agent.tcl 12 -r-xr-xr-x 1 root wheel 11662 Dec 6 18:31 /usr/local/bin/sguil-sensor/pads_agent.tcl -- Paul Schmehl, Senior Infosec Analyst As if it wasn't already obvious, my opinions are my own and not those of my employer. ******************************************* "It is as useless to argue with those who have renounced the use of reason as to administer medication to the dead." Thomas Jefferson "There are some ideas so wrong that only a very intelligent person could believe in them." George Orwell
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0FC50D96AC60C2D7BEFC786A>