Показать сообщение отдельно
Старый 03.05.2010, 15:16   #7
selector
Пользователь
 
Аватар для selector
 
Регистрация: 12.03.2010
Сообщений: 64
Сказал(а) спасибо: 23
Поблагодарили 10 раз(а) в 5 сообщениях
selector На верном пути
По умолчанию

Могу посоветовать отличную программку для авторестарта/отладки процесса сервера. Название - restartd
http://packages.ubuntu.com/ru/jaunty/restartd - для Убунту.
Для остальных систем можно поискать в гугле.

Скачиваем, устанавливаем, в файле конфига (/etc/restartd.conf) прописываем после объяснений нечто вида:
Код:
# Restartd configuration file

# Format:
#
# <process_name> <regexp> <action_if_not_running> <action_if_running>
#
# process_name: the name of the process which is just for logging
# as it does not affect for the regexp
#
# regexp: the POSIX regular expression for the command line of the
# process
#
# action_if_not_running: a script or program name to execute if the
# regexp does not match the full process command line
#
# action_if_running: a script or program name to execute if the regexp
# matches the full process command line

# Example:
#
# restartd ".*restartd" "/bin/echo 'It is not running!' >/tmp/restartd.out" "/bin/echo 'It is running!' >/tmp/restartd.out"

wotlk "mangos-wotlk" "ulimit -c unlimited; /opt/war/bin/mangos-worldd > /dev/null 2>&1 &" ""
wotlk "mangos-wotlk" - по желанию, как вы хотите назвать процесс

/opt/war/bin/mangos-worldd - путь куда вы установили сервер

Креш дампы будут складироваться в Корне "/" и будут иметь вид "core.xxxx"(где хххх - номер процесса когда мангос работал). Прочитать дамп вполне просто. В консоле вводим:
gdb /opt/war/bin/mangos-worldd -c /core.xxxx

далее bt либо bt full


Может быть это кому-то поможет.

Внимание для прочтения дампов вам потребуется пакет gdb который можно скачать командой apt-get install gdb(yum install gdb для Федоры).

-----------------------
Добавлено:

Запуск программы restartd можно осуществить выполнив команду ./usr/sbin/restartd (Для убунту) либо (./sbin/restartd для Федоры). Отключить программу просто - убить процесс с помощью kill id_процесса. Также возможно ее поставить как службу включив ее в /etc/init.d после этого старт/рестарт/остановка возможны командами service restartd start|restart|stop

Последний раз редактировалось selector; 03.05.2010 в 15:34. Причина: Добавлено описание
selector вне форума   Ответить с цитированием