On Fri, Oct 22, 2021 at 07:27:28PM +0100, Stuart Henderson wrote:
> On 2021/10/22 12:56, Stuart Henderson wrote:
> > On 2021/10/22 12:20, Antoine Jacoutot wrote:
> > > On Thu, Oct 21, 2021 at 04:45:47PM +0100, Stuart Henderson wrote:
> > > > Sometimes I find it useful to list daemons which are set to 'disabled'
> > > > but are actually running. Either those where I have started them by hand
> > > > forgotten to enable in rc.conf.local, or to check for services which
> > > > shouldn't be running but which are anyway. Any comments on this diff
> > > > to add it to rcctl? It's pretty much the opposite of "rcctl ls failed".
> > >
> > > Hi.
> > >
> > > I have never had a use for this, so I don't really have an opinion...
> > > I am not super fan of the "off-but-started" option name though.
> >
> > I hate the name but every other idea I had was worse :)
>
> Ingo had a nice suggestion:
ok with one comment inline.
>
> Index: rcctl.8
> ===================================================================
> RCS file: /cvs/src/usr.sbin/rcctl/rcctl.8,v
> retrieving revision 1.37
> diff -u -p -r1.37 rcctl.8
> --- rcctl.8 26 Jun 2021 18:02:48 -0000 1.37
> +++ rcctl.8 22 Oct 2021 18:26:40 -0000
> @@ -36,7 +36,7 @@
> .Nm rcctl
> .Cm ls
> .Sm off
> -.Cm all | failed | on | off | started | stopped
> +.Cm all | failed | on | off | rogue | started | stopped
> .Sm on
> .Sh DESCRIPTION
> The
> @@ -123,6 +123,8 @@ enabled but stopped daemons
> disabled services and daemons
> .It Cm on
> enabled services and daemons
> +.It Cm rogue
> +services and daemons which are disabled but currently running
You can drop services.
> .It Cm started
> running daemons
> .It Cm stopped
> Index: rcctl.sh
> ===================================================================
> RCS file: /cvs/src/usr.sbin/rcctl/rcctl.sh,v
> retrieving revision 1.110
> diff -u -p -r1.110 rcctl.sh
> --- rcctl.sh 27 Feb 2021 09:28:04 -0000 1.110
> +++ rcctl.sh 22 Oct 2021 18:26:40 -0000
> @@ -35,7 +35,7 @@ usage()
> "usage: rcctl get|getdef|set service | daemon [variable [arguments]]
> rcctl [-df] ${_a} daemon ...
> rcctl disable|enable|order [daemon ...]
> - rcctl ls all|failed|off|on|started|stopped"
> + rcctl ls all|failed|off|on|rogue|started|stopped"
> }
>
> needs_root()
> @@ -228,6 +228,13 @@ svc_ls()
> unset _on
> done
> ;;
> + rogue)
> + for _svc in $(svc_ls off); do
> + ! svc_is_special ${_svc} && \
> + /etc/rc.d/${_svc} check >/dev/null && \
> + echo ${_svc} && _ret=1
> + done
> + ;;
> started|stopped)
> for _svc in $(ls_rcscripts); do
> /etc/rc.d/${_svc} check >/dev/null && _started=1
> @@ -502,7 +509,7 @@ ret=0
> case ${action} in
> ls)
> lsarg=$2
> - [[ ${lsarg} == @(all|failed|off|on|started|stopped) ]] || usage
> + [[ ${lsarg} == @(all|failed|off|on|rogue|started|stopped) ]] ||
> usage
> ;;
> order)
> shift 1
>
--
Antoine