命令gcluster_services gbase stop和service gbased stop有什么区别?

warning: 这篇文章距离上次修改已过1628天,其中的内容可能已经有所变动。

(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 stopservice 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
}
最后修改于:2020年11月16日 15:34

添加新评论