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

Есть и такой ОС.

Модератор: weec

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
6eremot
рядовой
Сообщения: 13
Зарегистрирован: 2007-11-08 18:20:57

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

Непрочитанное сообщение 6eremot » 2009-06-24 10:45:23

Доброго времени суток.

Господа помогите пожалуйста.
Поднял 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

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

detx
сержант
Сообщения: 245
Зарегистрирован: 2009-02-24 11:12:57
Откуда: Нижний Новгород

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

Непрочитанное сообщение detx » 2009-06-24 11:24:47

Написать скрипт, для проверки процесса по pid, или по наличию процесса. И если он отсутствует запускать его. И запихнуть скрипт в крон, который будет запускать этот скрипт через определенные промежутки времени.

6eremot
рядовой
Сообщения: 13
Зарегистрирован: 2007-11-08 18:20:57

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

Непрочитанное сообщение 6eremot » 2009-06-24 12:41:58

Согласен что надо написать скрипт, только вот вопрос насколько 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...

Аватара пользователя
server801
ст. лейтенант
Сообщения: 1421
Зарегистрирован: 2008-09-27 21:15:16
Откуда: Саратов
Контактная информация:

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

Непрочитанное сообщение server801 » 2009-06-24 12:57:14

Во фре мне кажется проще, там есть /etc/crontab...
в линухе то же есть

detx
сержант
Сообщения: 245
Зарегистрирован: 2009-02-24 11:12:57
Откуда: Нижний Новгород

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

Непрочитанное сообщение detx » 2009-06-24 13:13:07

crontab -e

paix
лейтенант
Сообщения: 863
Зарегистрирован: 2007-09-24 12:41:05
Откуда: dn.ua
Контактная информация:

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

Непрочитанное сообщение paix » 2009-06-25 10:15:14

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

#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.
With best wishes, Sergej Kandyla

6eremot
рядовой
Сообщения: 13
Зарегистрирован: 2007-11-08 18:20:57

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

Непрочитанное сообщение 6eremot » 2009-06-25 18:05:46

Спасибо пошел читать :)