Я нуждаюсь в помощи со службой поддержки в ubuntu I, хотят работать на начальной загрузке. Но я получаю проблему с сервисом, так как это не запускает все процессы. Когда я запускаю сервис вручную, он работает без проблем, но на начальной загрузке нет.
В /etc/init.d
У меня есть файл ebot:
#!/bin/sh
USER="freeman"
DIR='/home/freeman/'
case "$1" in
'start')
su $USER -c "cd $DIR; ./ebotv3 start"
;;
'stop')
su $USER -c "cd $DIR; ./ebotv3 stop"
;;
'restart')
su $USER -c "cd $DIR; ./ebotv3 restart"
;;
'status')
su $USER -c "cd $DIR; ./ebotv3 status"
;;
*)
echo "Usage $0 start|stop|restart|status"
esac
В моем корневом каталоге у меня есть другой файл ebotv3:
# Leave this alone.
NAME=ebotv3
# DON'T FORGET TO CHANGE THE PATH TO YOUR NEEDS!
DIR="/home/freeman/ebot/ebot-csgo/"
# Leave this alone.
DAEMON=php
# Internet-server:
PARAMS=bootstrap.php
# Leave this alone.
DESC="ebotv3 server"
case "$1" in
start)
if [[ `screen -ls |grep $NAME` ]]
then
echo "ebot is already running!"
else
`cd $DIR; screen -m -d -S ebotv3 $DAEMON $PARAMS`
echo "Starting $DESC: ...done."
fi
;;
stop)
if [[ `screen -ls |grep $NAME` ]]
then
kill `ps aux | grep -v grep | grep -i freeman | grep -i screen | grep -i $NAME | awk '{print $2}'`
echo "Stopping $DESC: ...done."
else
echo "Coulnd't find a running $DESC"
fi
;;
restart)
if [[ `screen -ls |grep $NAME` ]]
then
kill `ps aux | grep -v grep | grep -i freeman | grep -i screen | grep -i $NAME | awk '{print $2}'`
echo "Stopping $DESC: ...done."
else
echo "Coulnd't find a running $DESC"
fi
`cd $DIR; screen -m -d -S ebotv3 $DAEMON $PARAMS`
echo -n "Starting $DESC: ...done."
;;
status)
ps aux | grep -v grep | grep php > /dev/null
CHECK=$?
[ $CHECK -eq 0 ] && echo "$DESC is UP" || echo "$DESC is DOWN"
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0
На начальной загрузке в моих процессах ps x
У меня есть это:
1052 ? Ss 0:00 SCREEN -m -d -S ebotv3 php bootstrap.php
1067 pts/2 Ssl+ 0:00 php bootstrap.php
1191 pts/2 Z+ 0:00 [sh] <defunct>
1192 pts/2 Sl+ 0:00 node /home/freeman/ebot/ebot-csgo/websocket_server.js 192.168.0.20 12360
Когда я запускаю вручную сервис в своих процессах ps x
У меня есть это:
22768 ? Ss 0:00 SCREEN -m -d -S ebotv3 php bootstrap.php
22769 pts/2 Ssl+ 0:00 php bootstrap.php
22771 pts/2 S+ 0:00 sh -c node /home/freeman/ebot/ebot-csgo/websocket_server.js 192.168.0.20 12360
22772 pts/2 Sl+ 0:00 node /home/freeman/ebot/ebot-csgo/websocket_server.js 192.168.0.20 12360
Парни я выясняю проблему, сервис, запускают прежде mysql сервис, но зависит от mysql сервиса. Я добавляю сон в своем сценарии запуска :)