DJ Lucas wrote: >>> Never mind. $$ is not actually incrementing, but I don't know what >>> processes pidof is finding when running that script. Creating a second >>> functions script with only statusproc and getpids using the same 'pidof >>> -o $$ -o $PPID -x "${1}"' gives the proper result. It looks as if pidof >>> it's finding it's own PID but that can't be either because it does not >>> find itself in the second example. I'm at a loss. Will revisit after >>> some sleep.
Okay..I'm not sure how (if) this affects the LSB function for pidofproc, but it does do the right thing with the output. I've still not tested this thouroughly, expecially WRT pidofproc!!! -- DJ Lucas
--- lfs-bootscripts-3.2.2-orig/lfs/init.d/functions 2005-07-05 01:09:05.000000000 -0500 +++ lfs-bootscripts-3.2.2/lfs/init.d/functions 2005-08-08 18:53:52.000000000 -0500 @@ -426,7 +426,7 @@ { local pidfile="" local lpids="" - local pidlist="" + pidlist="" while true do case "${1}" in @@ -455,20 +455,20 @@ return 3 # Program is not running fi - lpids=`head -n 1 ${pidfile}` - for pid in ${lpids} + lpids=`head -n 1 "${pidfile}"` + for pid in "${lpids}" do if [ "${pid}" -ne "$$" -a "${pid}" -ne "${PPID}" ]; then kill -0 "${pid}" > /dev/null && pidlist="${pidlist} ${pid}" fi - echo ${pidlist} + echo "${pidlist}" test -z "${pidlist}" && return 1 # Program is dead, pidfile exists return 0 done else - pidof -o $$ -o $PPID -x "${1}" + pidlist=`pidof -o "${$}" -o "${PPID}" -x "${1}"` fi if [ "$?" != "0" ]; then @@ -479,10 +479,10 @@ # This will ensure compatibility with previous LFS Bootscripts getpids() { - if [ -z "${PIDFILE}" ]; then - pidlist=`pidofproc -p "${PIDFILE}" [EMAIL PROTECTED] + if [ -n "${PIDFILE}" ]; then + pidofproc -p "${PIDFILE}" "[EMAIL PROTECTED]" else - pidlist=`pidofproc [EMAIL PROTECTED] + pidofproc "[EMAIL PROTECTED]" fi base="${1##*/}" }
-- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page