Показать сообщение отдельно
Старый 12.08.2010, 15:57   #10
WildLynx
Пользователь
 
Аватар для WildLynx
 
Регистрация: 18.08.2010
Сообщений: 33
Сказал(а) спасибо: 1
Поблагодарили 1 раз в 1 сообщении
WildLynx На верном пути
Хорошо

Спасибо, удалось!

Правда, пришлось несколько изменить:

mangos, главгый скрипт для сервиса
добавил ;; перед *) - ошибка синтаксиса?
убрал -9 после kill - для аккуратной остановки с ret code 0
Кстати, зачем такой сложный (через номер порта) способ остановки?

Код:
killall mangos-realmd
хуже?

Код:
#!/bin/bash
case "$1" in
start) echo -n "Starting server"
sudo -b -u mangos /home/mangos/mangoszero/bin/realm.sh
sudo -b -u mangos /home/mangos/mangoszero/bin/mangos.sh
echo "..."
;;
stop) echo -n "Stoping server"
kill  `lsof -i -n -P | grep -e "TCP.*:8085" | head -n1 | awk '{print $2}'`
kill  `lsof -i -n -P | grep -e "TCP.*:3724" | head -n1 | awk '{print $2}'`
;;
*) echo "Usage: /etc/init.d/server start|stop"
exit 1
;;
esac
exit 0
realm.sh
увеличил SLEEPTIME и добавил возможность нормально остановить сервер
иначе главный скрипт был бы не в состоянии его остановить

Код:
#!/bin/sh

CMDNAME='mangos-realmd'
RESTARTCMD='/home/mangos/mangoszero/bin/mangos-realmd'
SLEEPTIME=5
while test 1
do
    OUTPUT=`ps ax | grep $CMDNAME | grep -v grep`

    if ! echo $OUTPUT | grep $CMDNAME 1>/dev/null ; then
        echo Restarting service...
        $RESTARTCMD
        if [ $? = 0 ]; then
    	    echo Normal Exit
    	    exit 
    	fi
    else
        echo Server Online...
    fi
    sleep $SLEEPTIME
done

mangos.sh
аналогично
Код:
#!/bin/sh

CMDNAME='mangos-worldd'
RESTARTCMD='/home/mangos/mangoszero/bin/mangos-worldd'
SLEEPTIME=5
while test 1
do
    OUTPUT=`ps ax | grep $CMDNAME | grep -v grep`

    if ! echo $OUTPUT | grep $CMDNAME 1>/dev/null ; then
        echo Restarting service...
        $RESTARTCMD
        if [ $? = 0 ]; then
    	    echo Normal Exit
    	    exit 
    	fi
    else
        echo Server Online...
    fi
    sleep $SLEEPTIME
done
Пришлось в настройках мангоса прописать все пути как абсолютные
С 3х значным номером возиться не стал, был не занятый S93, его и занял

Нормально?
WildLynx вне форума   Ответить с цитированием