From ef04a10fe9f37d89af0323a3c462f17354471a8a Mon Sep 17 00:00:00 2001 From: Florent Thoumie Date: Tue, 11 Apr 2006 09:20:47 +0000 Subject: [PATCH] - If no pidfile has been created at startup, only stop processes with current jid. PR: conf/93287 Submitted by: anders Approved by: cperciva (mentor) MFC after: 1 month --- etc/rc.subr | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/etc/rc.subr b/etc/rc.subr index eafcd765a5f8..20eae17dd569 100644 --- a/etc/rc.subr +++ b/etc/rc.subr @@ -54,6 +54,7 @@ SYSCTL_N="${SYSCTL} -n" CMD_OSTYPE="${SYSCTL_N} kern.ostype" OSTYPE=`${CMD_OSTYPE}` ID="/usr/bin/id" +JID=`ps -p $$ -o jid | tail -1 | tr -d ' '` IDCMD="if [ -x $ID ]; then $ID -un; fi" case ${OSTYPE} in @@ -275,14 +276,16 @@ _find_processes() fi _proccheck=' - ps 2>/dev/null -o "pid,command" '"$_psargs"' | - while read _npid '"$_fp_args"'; do + ps 2>/dev/null -o "pid,jid,command" '"$_psargs"' | + while read _npid _jid '"$_fp_args"'; do case "$_npid" in PID) continue;; esac; '"$_fp_match"' - echo -n "$_pref$_npid"; - _pref=" " + if [ "$JID" -eq "$_jid" ]; + then echo -n "$_pref$_npid"; + _pref=" "; + fi ;; esac done'