Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 08 Nov 2017 11:37:37 -0500
From:      Ernie Luzar <luzar722@gmail.com>
To:        Ian Smith <smithi@nimnet.asn.au>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Need help with rc.d script
Message-ID:  <5A0332D1.90509@gmail.com>
In-Reply-To: <20171109005843.E72828@sola.nimnet.asn.au>
References:  <mailman.444.1510052978.1530.freebsd-questions@freebsd.org> <20171108021900.W9710@sola.nimnet.asn.au> <20171108043726.N72828@sola.nimnet.asn.au> <5A01F758.1050706@gmail.com> <20171109005843.E72828@sola.nimnet.asn.au>

next in thread | previous in thread | raw e-mail | index | archive | help
Ian Smith wrote:
> On Tue, 7 Nov 2017 13:11:36 -0500, Ernie Luzar wrote:
> 
>  > Thanks Ian,
>  > Ending the while loop with "done &" worked.
> 
> The one with or without the enclosing ( and ) to force a subshell?
> 
>  > When I issue dynip from the command line it runs as a daemon but I have to
>  > use the kill command to stop it.
>  > 
>  > This is my rc.d script for dynip script. issuing "service dynip start" works
>  > but "service dynip stop" gives message saying
>  > dynip not running? (Check /var/run/dynip.pid). Well ps ax shows it is running
>  > and I have to use the kill command to stop it.
> 
> Things to check:
> 
>  . after 'start' does /var/run/dynip.pid exist while it's running??
>  . if so, does it contain the same PID as 'ps ax' shows for dynip?
>  . does 'ps ax' show a different PID for the subshell, if there is one?
>  . Does /var/run/dynip.pid still exist after running 'stop'?
> 
> i.e. is the PID needed for kill the same as that in /var/run/dynip.pid?
> 
>  > Here is my rc.d script. What am I missing to populate the dynip.pid file so
>  > "service dynip stop" command will work?
>  >
>  > #!/bin/sh
>  > #
>  > #
>  > # PROVIDE: dynip
>  > # REQUIRE: LOGIN
>  > # KEYWORD: nojail shutdown
>  > #
>  > # Add the following line to /etc/rc.conf to enable dynip:
>  > #
>  > # dynip_enable="YES"
>  > #
>  > 
>  > . /etc/rc.subr
>  > name="dynip"
>  > rcvar=dynip_enable
>  > command="/usr/local/sbin/${name}"
>  > pidfile="/var/run/${name}.pid"
>  > load_rc_config ${name}
>  > run_rc_command "$1"
> 
> I've very little knowledge of the detailed behaviour of the rc system.  
> Let's see how the above questions might inform before speculating ..
> 
> cheers, Ian
> 

I tested with and without the enclosing ( and ) on the while loop and it 
made no difference. No pidfile exists before the "service dynip start" 
is issued and non exists afterwards.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5A0332D1.90509>