From nobody Wed Jun 11 23:16:32 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 4bHhPD5vbHz5ydjs; Wed, 11 Jun 2025 23:16:32 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bHhPD5HRkz3KgF; Wed, 11 Jun 2025 23:16:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749683792; 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=EAyu59Ex7OWMRIb+q3CRtlmp1xCmJToapIsYbpfQiLc=; b=ktAJasybFumijpRLcCI3utIk6pecBzdP5yPhWrMKr2YsgJsiUQWlTVdD8QRGyQyuYD2ntD F6btmqyUntCVKK/457iKcIuWwXpSMwWYGnqD2ouM7x5atx+XBBiaurU+0/xzLKzJ/iTClU Ss75DSDsYuzQug544y/tkvASjwVpicuYlgi2ZysEmLzSWwKNtZ7FMl92jhJUYIvrTcryxj EbkrT/0L6ms8ZaZO8Q8e65e2aMWPsH4IxdoZRdPrcWuR0NxUCt+pS4hIJ3axCUKKFRqJnJ DsK+nmSwvYnl30vFinwl8dlRO0yRe061OiEZUJWufWrWMZnoHjhM6Kefs2vWYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1749683792; 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=EAyu59Ex7OWMRIb+q3CRtlmp1xCmJToapIsYbpfQiLc=; b=QCWbdJboAH2onbLmI2Py5Iw43+UD/HnL0xzbV8TbFc5RBoLlld2XjFM7N97C1E/WpElf+F 7q/8J2Zy/Ol/tyjT9mWgoPTDhha+9IybXOie1Z4yyjIyCNlVx0CnOtAMgN3nODBJcLCDkH cYNCnOYZ8XWXbppcqtPOJ5Eg+k2IMgnWOtXoQfHBJ/qL+J2j3kcQdeByC7+SSPrWogBg3+ VM0bOJK0chts2svsECmcMvRHDECCBFwXsfXGKkQwj2GH29wpf/3bEDa6V52WDRZjWhoE+8 iKImi2DAA0+gRaCBuPB9ff4EJBHyefMA1FIfTbNAVcJRHS17wbgpyaSva6Z2QA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1749683792; a=rsa-sha256; cv=none; b=ejocB5G7k6ZbP9jIj8X+6EYS8KVNhozLmB5Sqq/7gy4BFBQpzMWTSGaTmdd2WgnbHPeeyN wTBZq8cTCzncLJrTp5iSbpAxk1PFvNb5UeM3zOrcTbyrNu8xY9E9qmVtSEl44GYNHugtsu I8qoex+Dloumq9kSs1fSUPpEPpfTphsdi5ICvvCafNJEjLPIAlliwa1QihrtchhVBCB0gw dA5uQX+eCXc982HgFjS2wXn6aPMfk8KG/k2SrTqLcwfJmejmMSdp2nkos/qoNeSeaV4zZT d7eGOkg7DQMrfhFQnLGhpOaqVQgVXHo0KDLZ0RFjMNC5MkWJcNjMDoh7rvRsMQ== 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 4bHhPD4rM5znG2; Wed, 11 Jun 2025 23:16:32 +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 55BNGWv4045956; Wed, 11 Jun 2025 23:16:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55BNGWQs045953; Wed, 11 Jun 2025 23:16:32 GMT (envelope-from git) Date: Wed, 11 Jun 2025 23:16:32 GMT Message-Id: <202506112316.55BNGWQs045953@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 37983aef7c70 - main - 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 37983aef7c70b738cf63923bcfd2c4ae03ac5779 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=37983aef7c70b738cf63923bcfd2c4ae03ac5779 commit 37983aef7c70b738cf63923bcfd2c4ae03ac5779 Author: Dan Mahoney AuthorDate: 2025-05-25 08:54:33 +0000 Commit: Warner Losh CommitDate: 2025-06-11 23:16:21 +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 --- 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