read-p"WARNING: Taking a core dump of the running asterisk instance will suspend call processing while the dump is saved. Do you wish to continue? (y/N) " answer
unset pid
# Simplest case first...
pids=$(pgrep -f"$asterisk_bin")
pidcount=$(echo$pids | wc-w)
if[$pidcount-eq 0 ];then
>&2 echo"Asterisk is not running"
exit 1
fi
# Single process, great.
if[$pidcount-eq 1 ];then
pid=$pids
echo"Found a single asterisk instance running as process $pid"
fi
# More than 1 asterisk process running
if[ x"$pid"= x ];then
# More than 1 process running, let's try asking asterisk for it's
# pidfile
pidfile=$("$asterisk_bin"-rx"core show settings" 2>/dev/null | sed-n-r-e"s/^\s*pid file:\s+(.*)/\1/gpi")
pidfile=$("$asterisk_bin"-C"$astetcconf"-rx"core show settings" 2>/dev/null | sed-n-r-e"s/^\s*pid file:\s+(.*)/\1/gpi")
if[ x"$pidfile"!= x -a-f"$pidfile"];then
pid=$(cat"$pidfile")
echo"Found pidfile $pidfile the hard way with process $pid"
break
fi
fi
done
if[$mounted_proc-eq 1 ];then
echo"Unmounting /proc"
umount /proc
fi
fi
if[ x"$pid"= x ];then
>&2 echo"Can't determine pid of the running asterisk instance"
exit 1
fi
if$RUNNING;then
answer=Y
else
read-p"WARNING: Taking a core dump of the running asterisk instance will suspend call processing while the dump is saved. Do you wish to continue? (y/N) " answer