On Tue, Apr 25, 2023 at 07:18:12PM -0000, Stuart Henderson wrote:
>On 2023-04-25, rea...@catastrophe.net <rea...@catastrophe.net> wrote:
>> On Tue, Apr 25, 2023 at 08:32:35PM +0200, Antoine Jacoutot wrote:
[..]
>
>So let's ignore this ls -l red herring, which cannot have worked
>in 7.2 either (I think you might have meant to type ~${daemon_user}
>or something, but anyway..)
>
>The rc.d subsystem is really intended for internal use by system
>daemons, ports, etc. As such, changes are sometimes made to how
>it works, and everything is updated in ports/base as necessary,
>but if you're writing your own you will need to keep track of
>those changes yourself.
>
>I think what you're missing are these two commits:

Thanks for these.

>
>----------------------------
>revision 1.153
>date: 2022/05/21 10:50:09;  author: ajacoutot;  state: Exp;  lines: +13 -6;  
>commitid: iyDYBSL549hXuvMg;
>Replace the $rcexec variable by an rc_exec function.
>It is much cleaner to the eyes and makes more sense from a functionnal point of
>view.
>This will allow to extend rc_exec with other functionnalities (like upcoming
>rc_startdir).
>Bonus point: daemon_logger will now work with manually crafted rc_start
>functions.
>
>This will require a mechanical change from ${rcexec} to rc_exec in rc.d 
>scripts.
>ports will be fixed right after this commit but we will keep compatibility to
>give a chance to people to fix their custom scripts.
>
>positive tests from a few
>ok robert@
>----------------------------
>
>----------------------------
>revision 1.160
>date: 2022/10/19 21:04:45;  author: ajacoutot;  state: Exp;  lines: +1 -3;  
>commitid: A78P0jfG7qlNxhdx;
>Drop support for $rcexec; people should now use the rc_exec function.
>
>prodded by jsg@
>----------------------------
>
>though FWIW I think this should be split into two scripts,
>the subsystem isn't geared up to handle one script dealing with
>two separate daemons. (or alternatively what I normally do when
>I use autossh here is to add @reboot cron jobs)...

I don't disagree it should be two separate scripts, but I haven't 
found a way to gracefully start/stop separate instances of autossh
since it forks into a separate process.

So if ${daemon} is declared as "autossh", using the built-in
pexp="${daemon}:.*" would kill off multiple running autossh 
instances.

Running these out of rc, rather than cron, I find to be a bit more 
graceful during network hiccups.

Reply via email to