X-Git-Url: http://gitweb/?a=blobdiff_plain;f=mysql%2Fmysqld;h=eb9b74e06e23020e1f6094737e8285ea300a48d7;hb=199f2d02e83263076bcf3cca183c01556e22b596;hp=4775f33f00b097b179f2f075d95349e22a7ae882;hpb=825e3023e51a748f9bf49a6b4528ee2c07931c36;p=ports%2Fopt-arm.git diff --git a/mysql/mysqld b/mysql/mysqld index 4775f33..eb9b74e 100644 --- a/mysql/mysqld +++ b/mysql/mysqld @@ -3,28 +3,35 @@ # /etc/rc.d/mysqld: start/stop mysqld daemon # +SSD=/sbin/start-stop-daemon +PROG=/usr/sbin/mysqld MYSQL_CFG=/etc/my.cnf - -MYSQL_PID=`sed -n 's/^pid-file[ \t]*=[ \t]*//p' $MYSQL_CFG` -MYSQL_USR=`sed -n 's/^user[ \t]*=[ \t]*//p' $MYSQL_CFG` +PID=$(sed -n 's/^pid-file[ \t]*=[ \t]*//p' $MYSQL_CFG) +USR=$(sed -n 's/^user[ \t]*=[ \t]*//p' $MYSQL_CFG) case $1 in start) - touch $MYSQL_PID - chown $MYSQL_USR $MYSQL_PID - /usr/sbin/mysqld & + touch $PID && chown $USR:$USR $PID + $SSD --start --background --pidfile $PID --exec $PROG ;; stop) - killall -q /usr/sbin/mysqld - rm $MYSQL_PID + $SSD --stop --remove-pidfile --retry 10 --pidfile $PID ;; restart) $0 stop - sleep 2 $0 start ;; +status) + $SSD --status --pidfile $PID + case $? in + 0) echo "$PROG is running with pid $(cat $PID)" ;; + 1) echo "$PROG is not running but the pid file $PID exists" ;; + 3) echo "$PROG is not running" ;; + 4) echo "Unable to determine the program status" ;; + esac + ;; *) - echo "usage: $0 [start|stop|restart]" + echo "usage: $0 [start|stop|restart|status]" ;; esac