Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jun 2025 23:16:32 GMT
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 37983aef7c70 - main - Add quiet/-q option to /usr/sbin/service
Message-ID:  <202506112316.55BNGWQs045953@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=37983aef7c70b738cf63923bcfd2c4ae03ac5779

commit 37983aef7c70b738cf63923bcfd2c4ae03ac5779
Author:     Dan Mahoney <github@gushi.org>
AuthorDate: 2025-05-25 08:54:33 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2025-06-11 23:16:21 +0000

    Add quiet/-q option to /usr/sbin/service
    
    Signed-off-by: Dan Mahoney <freebsd@gushi.org>
    Reviewed by: imp
    Pull Request: https://github.com/freebsd/freebsd-src/pull/1709
    Closes: https://github.com/freebsd/freebsd-src/pull/1709
---
 usr.sbin/service/service.8  |  3 +++
 usr.sbin/service/service.sh | 23 +++++++++++++++++++----
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/usr.sbin/service/service.8 b/usr.sbin/service/service.8
index a8f1a509885f..b8917138f478 100644
--- a/usr.sbin/service/service.8
+++ b/usr.sbin/service/service.8
@@ -45,6 +45,7 @@
 .Fl r
 .Nm
 .Op Fl j Ar jail
+.Op Fl q
 .Op Fl v
 .Op Fl E Ar var=value
 .Ar script
@@ -115,6 +116,8 @@ as in
 above, but list all of the files, not just what is enabled.
 .It Fl v
 Be slightly more verbose.
+.It Fl v
+Be quiet, redirecting output to /dev/null.
 .El
 .Sh ENVIRONMENT
 When used to run rc.d scripts the
diff --git a/usr.sbin/service/service.sh b/usr.sbin/service/service.sh
index 8b7aa937967b..5f456418da49 100755
--- a/usr.sbin/service/service.sh
+++ b/usr.sbin/service/service.sh
@@ -44,17 +44,19 @@ usage () {
 	echo "-R		Stop and start enabled $local_startup services"
 	echo "-l		List all scripts in /etc/rc.d and $local_startup"
 	echo '-r		Show the results of boot time rcorder'
+	echo '-q		quiet'
 	echo '-v		Verbose'
 	echo ''
 }
 
-while getopts 'j:E:ehlrRv' COMMAND_LINE_ARGUMENT ; do
+while getopts 'j:E:ehlqrRv' COMMAND_LINE_ARGUMENT ; do
 	case "${COMMAND_LINE_ARGUMENT}" in
 	j)	JAIL="${OPTARG}" ;;
 	E)	VARS="${VARS} ${OPTARG}" ;;
 	e)	ENABLED=eopt ;;
 	h)	usage ; exit 0 ;;
 	l)	LIST=lopt ;;
+	q)	QUIET=qopt ;;
 	r)	RCORDER=ropt ;;
 	R)	RESTART=Ropt ;;
 	v)	VERBOSE=vopt ;;
@@ -69,6 +71,7 @@ if [ -n "${JAIL}" ]; then
 	args=""
 	[ -n "${ENABLED}" ] && args="${args} -e"
 	[ -n "${LIST}" ] && args="${args} -l"
+	[ -n "${QUIET}" ] && args="${args} -q"
 	[ -n "${RCORDER}" ] && args="${args} -r"
 	[ -n "${RESTART}" ] && args="${args} -R"
 	[ -n "${VERBOSE}" ] && args="${args} -v"
@@ -100,14 +103,22 @@ if [ -n "$RESTART" ]; then
 			if [ -n "$rcvar" ]; then
 				load_rc_config_var ${name} ${rcvar}
 			fi
-			checkyesno $rcvar 2>/dev/null && run_rc_script ${file} stop
+			if [ -n "$QUIET" ]; then
+				checkyesno $rcvar 2>/dev/null && run_rc_script ${file} stop >/dev/null 2>&1
+			else
+				checkyesno $rcvar 2>/dev/null && run_rc_script ${file} stop
+			fi
 		fi
 	done
 	for file in $files; do
 		if grep -q ^rcvar $file; then
 			eval `grep ^name= $file`
 			eval `grep ^rcvar $file`
-			checkyesno $rcvar 2>/dev/null && run_rc_script ${file} start
+			if [ -n "$QUIET" ]; then
+				checkyesno $rcvar 2>/dev/null && run_rc_script ${file} start >/dev/null 2>&1
+			else
+				checkyesno $rcvar 2>/dev/null && run_rc_script ${file} start
+			fi
 		fi
 	done
 
@@ -174,7 +185,11 @@ cd /
 for dir in /etc/rc.d $local_startup; do
 	if [ -x "$dir/$script" ]; then
 		[ -n "$VERBOSE" ] && echo "$script is located in $dir"
-		exec /usr/bin/env -i -L -/daemon HOME=/ PATH=/sbin:/bin:/usr/sbin:/usr/bin ${VARS} "$dir/$script" "$@"
+		if [ -n "$QUIET" ]; then
+			exec /usr/bin/env -i -L -/daemon HOME=/ PATH=/sbin:/bin:/usr/sbin:/usr/bin ${VARS} "$dir/$script" "$@" > /dev/null 2>&1
+		else
+			exec /usr/bin/env -i -L -/daemon HOME=/ PATH=/sbin:/bin:/usr/sbin:/usr/bin ${VARS} "$dir/$script" "$@"
+		fi
 	fi
 done
 



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