From nobody Wed Apr 27 14:37:19 2022 X-Original-To: freebsd-hackers@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 0FEF91AA9654 for ; Wed, 27 Apr 2022 14:38:06 +0000 (UTC) (envelope-from eugen@grosbein.net) Received: from hz.grosbein.net (hz.grosbein.net [IPv6:2a01:4f8:c2c:26d8::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hz.grosbein.net", Issuer "hz.grosbein.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KpLvd0PWMz3P9K for ; Wed, 27 Apr 2022 14:38:04 +0000 (UTC) (envelope-from eugen@grosbein.net) Received: from eg.sd.rdtc.ru (root@eg.sd.rdtc.ru [62.231.161.221] (may be forged)) by hz.grosbein.net (8.16.1/8.16.1) with ESMTPS id 23REbtf9088122 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 27 Apr 2022 14:37:56 GMT (envelope-from eugen@grosbein.net) X-Envelope-From: eugen@grosbein.net X-Envelope-To: Axel.Rau@Chaos1.DE Received: from [10.58.0.11] (dadvw [10.58.0.11] (may be forged)) by eg.sd.rdtc.ru (8.16.1/8.16.1) with ESMTPS id 23REbUOb095061 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Wed, 27 Apr 2022 21:37:55 +0700 (+07) (envelope-from eugen@grosbein.net) Subject: Re: rc script to let a service wait for db available To: Axel Rau , freebsd-hackers@freebsd.org References: From: Eugene Grosbein Message-ID: Date: Wed, 27 Apr 2022 21:37:19 +0700 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT autolearn=disabled version=3.4.2 X-Spam-Report: * -0.0 SHORTCIRCUIT No description available. * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on hz.grosbein.net X-Rspamd-Queue-Id: 4KpLvd0PWMz3P9K X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=fail (mx1.freebsd.org: domain of eugen@grosbein.net does not designate 2a01:4f8:c2c:26d8::2 as permitted sender) smtp.mailfrom=eugen@grosbein.net X-Spamd-Result: default: False [-0.36 / 15.00]; ARC_NA(0.00)[]; R_SPF_FAIL(1.00)[-all]; FREEFALL_USER(0.00)[eugen]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[grosbein.net]; NEURAL_SPAM_MEDIUM(0.67)[0.665]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-0.93)[-0.926]; RCPT_COUNT_TWO(0.00)[2]; MLMMJ_DEST(0.00)[freebsd-hackers]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/32, country:DE]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-ThisMailContainsUnwantedMimeParts: N 27.04.2022 21:30, Axel Rau wrote: > Hi all, > > I have this rc script: > - - - > meteoavg_wfphost="dbb3" > meteoavg_wfpuser="meteo" > meteoavg_wfpdb="operations" > # > # > > . /etc/rc.subr > > name="meteoavg" > rcvar=${name}_enable > command=/usr/local/bin/meteoavg > > load_rc_config $name > > : ${meteoavg_enable="NO"} > : ${meteoavg_flags=" -l syslog:daemon -s Chaos1"} > > : ${meteoavg_pidfile="/var/run/meteoavg-Chaos1.pid"} > > pidfile="${meteoavg_pidfile}" > > ##start_cmd="${name}_start" > stop_precmd="${name}_prestop" > > meteoavg_start() { > /usr/local/bin/wait_for_pgsql.sh ${meteoavg_wfphost} \ > ${meteoavg_wfpuser} ${meteoavg_wfpdb} \ > "/usr/local/bin/${name} ${meteoavg_flags} &" > } > - - - > The rc ignores the '&' and waits for wait_for_pgsql.sh to complete. > > How can I let rc continue without waiting? You need to place '&' outside of double-quotes. But better use daemon(8) command instead of '&' because daemon does better job ignoring signals etc. and that may be important if wait time extends past point when system goes to multiuser mode.