From nobody Mon Aug 11 19:22:28 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4c14K059NFz64nQY; Mon, 11 Aug 2025 19:22:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4c14K0224gz3YdC; Mon, 11 Aug 2025 19:22:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1754940148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/5kmk/3XH2n34wdiR7SfIQDcpKykzEXJfqmZrKKM8eA=; b=e2JSFhyBKbMLVGo8FTBWRzd5J4mga4rNnHBGoSbCb/626xDLKX/My5Zpmyj4Twlju/FhOE Ow7XyETlDHlf5JuR5uYAtqRwlHe4X/JwXOCzYgOodqF+vgpwjnigbIzGaHa8jzwx6utbF9 3Y/IpqNsrVoSHuPSW/b73kMKTq8ws1VP/S3yOMnURO6xMV6nv5wWIlER5oS7NedoC1uEXU PvUY7VOl0UR7oBstcIsSlSKXlXjhXIGGE8dnTEMkLxTxXZyP01x1ag2RRW4Vwf2+LpDsbz g16dfgqEgl1Vlyv1dNvt0CIy1Q7vzwV1zZgftsWL6ECsuakmuIvaFo1vBfOTmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1754940148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/5kmk/3XH2n34wdiR7SfIQDcpKykzEXJfqmZrKKM8eA=; b=ml5FbabJyvI4640iWShinIkTWSlXINkElsVSFl6C+3k81Tb4cqaRHnSPrUJPg8iPwAe1aK 9S//tLC2sUoJRWpjKkrFwjB1ALAp5IWe/guw0W24hq44a06UpHWSO7tOcvSM2bWPi7wg99 MI4Sv/zZ4h/G3nMzhnd+Ct8Okfpac5MESyv7WTiiyoNuEh2yHRKI9YFOUpNcXxf4Vrk5gF 9iXN6V4hkbz2B9NnH+Ux3MV+M349u1Xm2Y+KfCO53Ad1w5+AHUENPlD16ywvMO8yat2+8K 13pyqwp4taFo1FjWr+ytVejnFsSyau4QrngUADVzVrwF2HEsn8+Uxd6Cws0ltw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1754940148; a=rsa-sha256; cv=none; b=xyLKuh8HzNF2Wsuten3U5NlL0cTVrVO7wAnx8+5pJHZqPkQsqWOX9yh8ivlR+S8208GgRI zvvS6ZqSROqBJf/Tdb5ScZdvNIXLSn6dn4sTiYdUxo6BeD+w3kucDe58sRJ5TNlUTu7BAR BsLxLebU6mYTDzi6SxwikrEjhcUalR1w4dOuSfZ7EnTrdulTXbW6pZ84icZ5/kJeqBZu3y ida3XXClj3SRTlBROvlfPX0b3JG4aziJ6O4pQelJjEKSkxUcuDxUPOP58LSIdlcGU8Pw0C mlgQ8fY23behrNo6uAiVD3XtO0YV+fHGUpRRzHwf6GuHKKsNvOpBnV19nauVFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4c14K01ZfKz151n; Mon, 11 Aug 2025 19:22:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 57BJMS3S012229; Mon, 11 Aug 2025 19:22:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 57BJMS7c012226; Mon, 11 Aug 2025 19:22:28 GMT (envelope-from git) Date: Mon, 11 Aug 2025 19:22:28 GMT Message-Id: <202508111922.57BJMS7c012226@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 68669e92f5d2 - stable/14 - Add quiet/-q option to /usr/sbin/service List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 68669e92f5d2b883c0e2efaceaa1acc74424cd7b Auto-Submitted: auto-generated The branch stable/14 has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=68669e92f5d2b883c0e2efaceaa1acc74424cd7b commit 68669e92f5d2b883c0e2efaceaa1acc74424cd7b Author: Dan Mahoney AuthorDate: 2025-05-25 08:54:33 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-08-11 14:31:25 +0000 Add quiet/-q option to /usr/sbin/service Signed-off-by: Dan Mahoney Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1709 Closes: https://github.com/freebsd/freebsd-src/pull/1709 (cherry picked from commit 37983aef7c70b738cf63923bcfd2c4ae03ac5779) service: Fix repeated -v in man page Fix accidental repeated -v for -q. Fixes: 37983aef7c70 Noticed by: Gary Jennejohn (cherry picked from commit 8fa4a4eb705ccaece5aac4ae1201034001f21313) --- 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 7528fa04b0f1..67597bf9258e 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 q +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