Страница 1 из 1

CentOS и поднятие процесса после падения...

Добавлено: 2009-06-24 10:45:23
6eremot
Доброго времени суток.

Господа помогите пожалуйста.
Поднял 2 игрушки Cod4 и BF2 на CentOS 5.2 x64_86, сам centos совсем пустой.
Поднять поднял, но еще есть необходимость чтобы эти игрушки сами поднимались после загрузки ос и после падения процессов.
Нашел в гугле скрипт, но насколько у меня получилось он поднимает игру только при загрузке ос, а как сделать чтобы он еще запускал ее после падения?

Код: Выделить всё

#!/bin/sh
#
# Startup script for the Half-Life Dedicated Server
#
# DO NOT EDIT THIS FILE! CHANGES MADE HERE W:ILL BE OVERWRITTEN BY UPGRADES!
# Make your changes there instead.
#
#
# chkconfig: - 80 14
# description: BattleField 2. Port 16567,4000,4711,29900.27900. Dedicated server
# processname: bf2

# Source function library.
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
else
echo "Can't find functions file, exiting"
exit 1
fi


# Default settings
# Command line arguments here
BF2DIR="/usr/games/bf2/"

# See how we were called.
case "$1" in
start)
echo -n "Starting bf2: "
cd $BF2DIR
daemon su root -c "/usr/games/bf2/start.sh"
RETVAL=$?
[ $RETVAL -eq 0 ] && echo_success
echo
touch ${INITLOCK:-/mnt/lockdev}/bf2
;;
stop)
echo -n "Shutting down bf2: "
killproc bf2
RETVAL=$?
sleep 1
echo
[ $RETVAL -eq 0 ] && rm -f ${INITLOCK:-/mnt/lockdev}/bf2
;;
status)
status bf2
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac

exit 0

Re: CentOS и поднятие процесса после падения...

Добавлено: 2009-06-24 11:24:47
detx
Написать скрипт, для проверки процесса по pid, или по наличию процесса. И если он отсутствует запускать его. И запихнуть скрипт в крон, который будет запускать этот скрипт через определенные промежутки времени.

Re: CentOS и поднятие процесса после падения...

Добавлено: 2009-06-24 12:41:58
6eremot
Согласен что надо написать скрипт, только вот вопрос насколько linux отличается от freebsd, на последней я небольшие скрипты еще могу написать, но вот linux для меня темный лес, я впервые его поставил и честно сказать мне как то там не по себе.

Еще вопрос по поводу поднятия процесса, в скрипте сделано

Код: Выделить всё

daemon su root -c "/usr/games/bf2/start.sh"
но у меня так не поднимается и я его малость подправил, т.е. это

Код: Выделить всё

daemon su root -c "/usr/games/bf2/start.sh"
lalala
touch ${INITLOCK:-/mnt/lockdev}/bf2
lalala
[ $RETVAL -eq 0 ] && rm -f ${INITLOCK:-/var/tmp/bf2
поменял на это

Код: Выделить всё

screen -dmS bf2 /usr/games/bf2/start.sh
lalala
touch ${INITLOCK:-/var/tmp/bf2
lalala
[ $RETVAL -eq 0 ] && rm -f ${INITLOCK:-/var/tmp/bf2
заводиться и даже статус отдает, а через screen -r bf2 могу подключиться к процессу.
Насколько корректно сделал что заменил daemon на screen - не знаю.
Помогите накатать скрипт для крона чтобы проверять процесс и если его нету запускать, а так же куда его засунуть чтобы он работал.
Во фре мне кажется проще, там есть /etc/crontab...

Re: CentOS и поднятие процесса после падения...

Добавлено: 2009-06-24 12:57:14
server801
Во фре мне кажется проще, там есть /etc/crontab...
в линухе то же есть

Re: CentOS и поднятие процесса после падения...

Добавлено: 2009-06-24 13:13:07
detx
crontab -e

Re: CentOS и поднятие процесса после падения...

Добавлено: 2009-06-25 10:15:14
paix

Код: Выделить всё

#yum info monit
Name       : monit
Description: monit is a utility for managing and monitoring, processes, files, directories and devices on a UNIX system. Monit conducts automatic maintenance and repair and can execute meaningful causal
           : actions in error situations.
epel repo.

Re: CentOS и поднятие процесса после падения...

Добавлено: 2009-06-25 18:05:46
6eremot
Спасибо пошел читать :)