Показать сообщение отдельно
Старый 21.08.2010, 11:09   #17
KaraPUZ
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от 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
Кто пробовал работать с этим пакетом ? Можно ли изменить пусть создания дампов ?

Цитата:
lina, нада смотреть скрипт который запускает mangos, и туда прописывать ulimit(я думаю в твоем случае screen запускает скрипт, который выполняет роль авторестартера, вот в него и нужно дописать ulimit), а разрешать делать дампы на всю систему неправильно, много мусора будет.
И где с рестартере мангоса на до менять на ulimit,если мой рестартер имеет такое содержание:
Код:
#!/bin/sh
while true ; do
servlog='/home/mangos/bin/Server.log';
outpatch='/home/mangos/bin/crash/';
date=`date "+%Y-%m-%d_%H:%M:%S"`;
echo "Server CRASHED !!! Start Bugreport System." >> $outpatch$date.txt;
echo "Server.log Log FILE Last 30 Lines:" >> $outpatch$date.txt;
cat $servlog | tail -n 30 >> $outpatch$date.txt;
echo "" >> $outpatch$date.txt;
echo "END bugtracker system." >> $outpatch$date.txt;
/home/mangos/bin/mangos-worldd
done

Последний раз редактировалось KaraPUZ; 21.08.2010 в 11:27.
  Ответить с цитированием