78 lines
1.1 KiB
Bash
78 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
. /etc/rc.conf
|
|
. /etc/rc.d/functions
|
|
|
|
# Set the locale
|
|
export LANG=${LOCALE:-C}
|
|
if [[ -r /etc/locale.conf ]]; then
|
|
parse_envfile /etc/locale.conf "${localevars[@]}"
|
|
fi
|
|
|
|
declare -a pids
|
|
|
|
while read -r line
|
|
do
|
|
pids+=("${line}")
|
|
done < <( pgrep -u hyperbot )
|
|
|
|
case $1 in
|
|
start)
|
|
stat_busy "Starting hyperbot"
|
|
|
|
# Check it's not already running.
|
|
if ! (( ${#pids[*]} ))
|
|
then
|
|
su - hyperbot -c "cd /srv/hyperbot ; ./envbot & ./hyperbot_fixer & ./issues_change_detector" &
|
|
# If it's not running then we fail.
|
|
if ! pgrep hyperbot &>/dev/null
|
|
then
|
|
stat_fail
|
|
exit 1
|
|
fi
|
|
|
|
add_daemon hyperbot
|
|
stat_done
|
|
else
|
|
stat_fail
|
|
exit 1
|
|
fi
|
|
;;
|
|
|
|
stop)
|
|
stat_busy "Stopping hyperbot"
|
|
|
|
if ! (( ${#pids[*]} ))
|
|
then
|
|
echo "It's not running"
|
|
stat_fail
|
|
exit 1
|
|
fi
|
|
|
|
for (( i=0 ; i!=${#pids[*]} ; i++ ))
|
|
do
|
|
kill "${pids[${i}]}" &>/dev/null ||
|
|
{
|
|
stat_fail
|
|
exit 1
|
|
}
|
|
done
|
|
|
|
unset pids
|
|
|
|
rm_daemon hyperbot
|
|
stat_done
|
|
|
|
;;
|
|
|
|
restart)
|
|
$0 stop
|
|
$0 start
|
|
;;
|
|
|
|
*)
|
|
echo "Usage: $0 {start|stop|restart}" >&2
|
|
exit 1
|
|
|
|
esac
|