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".
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 21 Oct 2021 15:42:13 -0000
@@ -36,7 +36,7 @@
.Nm rcctl
.Cm ls
.Sm off
-.Cm all | failed | on | off | started | stopped
+.Cm all | failed | on | off | started | stopped | off-but-started
.Sm on
.Sh DESCRIPTION
The
@@ -119,6 +119,8 @@ which can be one of:
all services and daemons
.It Cm failed
enabled but stopped daemons
+.It Cm off-but-started
+services and daemons which are disabled but currently running
.It Cm off
disabled services and daemons
.It Cm on
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 21 Oct 2021 15:42:13 -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|started|stopped|off-but-started"
}
needs_root()
@@ -212,6 +212,13 @@ svc_ls()
echo ${_special_svcs} | tr "[:blank:]" "\n"
) | sort
;;
+ off-but-started)
+ for _svc in $(svc_ls off); do
+ ! svc_is_special ${_svc} && \
+ /etc/rc.d/${_svc} check >/dev/null && \
+ echo ${_svc} && _ret=1
+ done
+ ;;
failed)
for _svc in $(svc_ls on); do
! svc_is_special ${_svc} && \
@@ -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|started|stopped|off-but-started) ]] || usage
;;
order)
shift 1