(1)gcluster_services脚本路径/opt/gcluster/server/bin/gcluster_services,
执行gcluster_services gbase stop命令,下发的是kill -KILL `pidof gbased` ,即kill -9 `pidof gbased` 操作。
(2)reboot操作关闭gbased服务调用的是service gbased stop,service gbased stop 使用的脚本是/etc/init.d/gbased。
执行service gbased stop命令下发的是kill -TERM `pidof gbased` 即kill `pidof gbased` ,是以正常的方式来终止程序。
(3)在新版本上,/etc/init.d/gbased脚本中stop()函数增加部分代码,当正常kill gbased超过60秒之后,会强制执行kill -9 gbased。
stop()
{
! status $prog > /dev/null 2>&1 && return
echo -n "Signaling $desc to terminate: "
kill -TERM $(pidof $prog) > /dev/null 2>&1
success
echo
echo -n "Waiting for $prog services to unload:"
cnt=0
while status $prog > /dev/null 2>&1; do
sleep 1
echo -n "."
cnt=`expr $cnt + 1`
if [ $cnt -gt 60 ]; then
kill -9 $(pidof $prog) > /dev/null 2>&1
fi
done
rm -f $LOCK_FILE
rm -f $PIDFILE
success
echo
}