1*3610bffdSKyle Evans#!/bin/sh 2*3610bffdSKyle Evans 3*3610bffdSKyle Evans: ${ARG_MAX:=524288} 4*3610bffdSKyle Evansbase=$(dirname $(realpath "$0")) 5*3610bffdSKyle Evans 6*3610bffdSKyle Evansecho "1..2" 7*3610bffdSKyle Evans 8*3610bffdSKyle Evanswaitfor() { 9*3610bffdSKyle Evans flagfile=$1 10*3610bffdSKyle Evans 11*3610bffdSKyle Evans iter=0 12*3610bffdSKyle Evans 13*3610bffdSKyle Evans while [ ! -f ${flagfile} ] && [ ${iter} -lt 50 ]; do 14*3610bffdSKyle Evans sleep 0.10 15*3610bffdSKyle Evans iter=$((iter + 1)) 16*3610bffdSKyle Evans done 17*3610bffdSKyle Evans 18*3610bffdSKyle Evans if [ ! -f ${flagfile} ]; then 19*3610bffdSKyle Evans return 1 20*3610bffdSKyle Evans fi 21*3610bffdSKyle Evans} 22*3610bffdSKyle Evans 23*3610bffdSKyle Evanssentinel="findme=test-$$" 24*3610bffdSKyle Evanssentinelsz=$(printf "${sentinel}" | wc -c | tr -d '[[:space:]]') 25*3610bffdSKyle Evansname="pgrep -f" 26*3610bffdSKyle Evansspin="${base}/spin_helper" 27*3610bffdSKyle Evansflagfile="pgrep_f_short.flag" 28*3610bffdSKyle Evans 29*3610bffdSKyle Evans${spin} --short ${flagfile} ${sentinel} & 30*3610bffdSKyle Evanschpid=$! 31*3610bffdSKyle Evansif ! waitfor ${flagfile}; then 32*3610bffdSKyle Evans echo "not ok - $name" 33*3610bffdSKyle Evanselse 34*3610bffdSKyle Evans pid=$(pgrep -f ${sentinel}) 35*3610bffdSKyle Evans if [ "$pid" = "$chpid" ]; then 36*3610bffdSKyle Evans echo "ok - $name" 37*3610bffdSKyle Evans else 38*3610bffdSKyle Evans echo "not ok - $name" 39*3610bffdSKyle Evans fi 40*3610bffdSKyle Evansfi 41*3610bffdSKyle Evanskill $chpid 42*3610bffdSKyle Evans 43*3610bffdSKyle Evansname="pgrep -f long args" 44*3610bffdSKyle Evansflagfile="pgrep_f_long.flag" 45*3610bffdSKyle Evans${spin} --long ${flagfile} ${sentinel} & 46*3610bffdSKyle Evanschpid=$! 47*3610bffdSKyle Evansif ! waitfor ${flagfile}; then 48*3610bffdSKyle Evans echo "not ok - $name" 49*3610bffdSKyle Evanselse 50*3610bffdSKyle Evans pid=$(pgrep -f ${sentinel}) 51*3610bffdSKyle Evans if [ "$pid" = "$chpid" ]; then 52*3610bffdSKyle Evans echo "ok - $name" 53*3610bffdSKyle Evans else 54*3610bffdSKyle Evans echo "not ok - $name" 55*3610bffdSKyle Evans fi 56*3610bffdSKyle Evansfi 57*3610bffdSKyle Evanskill $chpid 58