#!/bin/sh
#
# chkconfig: - 84 16
# description:  PHP FastCGI Process Manager
# processname: plesk-php73-fpm
# config: /opt/plesk/php/7.3/etc/php-fpm.conf
# config: /etc/sysconfig/plesk-php73-fpm
# pidfile: /var/run/plesk-php73-fpm.pid
#
### BEGIN INIT INFO
# Provides: plesk-php73-fpm
# Required-Start: $local_fs $remote_fs $network $named
# Required-Stop: $local_fs $remote_fs $network
# Short-Description: start and stop PHP FPM
# Description: PHP FastCGI Process Manager
### END INIT INFO

. /etc/init.d/functions

if [ -f /etc/sysconfig/plesk-php73-fpm ]; then
	. /etc/sysconfig/plesk-php73-fpm
fi

RETVAL=0
binary=/opt/plesk/php/7.3/sbin/php-fpm
pidfile=/var/run/plesk-php73-fpm.pid
lockfile=/var/lock/subsys/plesk-php73-fpm
prog=php-fpm

test -x "$binary" || exit 0

start () {
	echo -n $"Starting $prog: "
	daemon --pidfile ${pidfile} ${binary} --daemonize
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch ${lockfile}
}

stop () {
	echo -n $"Stopping $prog: "
	killproc -p ${pidfile} ${binary}
	RETVAL=$?
	echo
	if [ $RETVAL -eq 0 ] ; then
		rm -f ${lockfile} ${pidfile}
	fi
}

reload () {
    echo -n $"Reloading $prog: "
    if ! $binary --test ; then
            RETVAL=6
            echo $"not reloading due to configuration syntax error"
            failure $"not reloading $prog due to configuration syntax error"
    else
        killproc -p ${pidfile} ${binary} -USR2
        RETVAL=$?
    fi
    echo
}

case "$1" in
	start)
		start
	;;

	stop)
		stop
	;;

	status)
		status -p ${pidfile} ${binary}
		RETVAL=$?
	;;

	restart)
		stop
		start
	;;

	reload|graceful|force-reload)
		reload
	;;

	configtest)
		$binary --test
		RETVAL=$?
	;;

	condrestart|try-restart)
		[ -f $lockfile ] && stop && start || :
	;;

	*)
		echo "Usage: $0 {start|stop|status|restart|reload|configtest|condrestart}"
		RETVAL=2
	;;
esac

exit $RETVAL
