Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 2 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 18.08.2005
Откуда: Новосибирск
Приветствую....система RHEL 5 Server....имеется скрипт для автозапуска, написанный для поддержки chkconfig`ом.

Код:
#!/bin/sh                                                                     
#                                                                             
# chkconfig: 5 90 10                                                         
# description: mystartscript
                                                                             
. /etc/rc.d/init.d/functions                                                 
                                                                             
CONF="/usr/local/etc/my.conf"                                               
# Suck in the configuration variables.                                       
if [ -r ${CONF} ] ; then                                                     
        . ${CONF}                                                             
else                                                                         
        echo "No conf file found"                                             
        exit                                                                 
fi                                                                           
                                                                             
my_wpid=`ps -e|sed -n '/mydaemon\.sh/{/grep|ulimit/!p;}'|awk '{print $1}'`
my_pid=`ps -e|sed -n '/mydaemon2\.pl/{/grep|ulimit/!p;}'|awk '{print $1}'` 

case "$1" in                                                                   
start)                                                                         
        echo -n "Starting MyScript: "                                               
                                                                               
        if [ -n "${my_wpid}" ]; then                                           
                echo -n "MyScript already runned"                                   
                failure; echo; exit 1                                           
        fi                                                                     

        username=`id -un`                                                       
        if [ ${username} = ${my_user} ]; then                                 
                daemon --pidfile ${my_wpidfile} ${mydaemon} >> ${my_logfile} 2>&1
                RETVAL=$?                                                       
        elif [ ${username} = "root" ]; then                                     
                daemon --user ${my_user} --pidfile ${my_wpidfile} ${mydaemon} >> ${my_logfile} 2>&1 &
                RETVAL=$?                                                       
        else                                                                   
                echo -n 'You must be a root or my_user!'                       
                RETVAL=1                                                       
        fi                                                                     
        [ $RETVAL -ne 0 ] && failure || success 
        echo                                                     
        ;;                                                       
stop)                                                             
        echo -n "Stopping MyScript: "                                 
                                                                 
        killproc ${mydaemon}                                   
        RETVAL1=$?                                               
        killproc ${mydaemon2}                                   
        RETVAL2=$?                                               
        rm -f ${my_piddir}/*.pid                                 
                                                                 
        [ $RETVAL1 -ne 0 -o $RETVAL2 -ne 0 ] && failure || success
        echo                                                     
        ;;                                                       
status)                                                           
        status ${mydaemon2}                                     
        ;;                                                       
*)                                                               
        echo "Usage: `basename $0` (start|stop|status)"                 
        ;;                                                       
esac                                                             
exit                                                                                         

ложу симлинк на данный файл в /etc/init.d....добавляю скрипт в chkconfig('chkconfig --add mystartscript')...ставлю уровни('chkconfig --level 2345 mystartscript on')...
проблема следующего плана...при запуске сервера скрипт нормально запускается на нужном уровне(init) в нужном порядке(S90mystartscript)...но при выключении, почемуто не ложится вообще....т.е. K10mystartscript не срабатывает и скрипт ложится только killall`ом...
в чем можетбыть проблема?....
chkconfig ложит K10mystartscript в rc0.d, rc1.d и rc6.d и S90mystartscript в rc2.d, rc3.d, rc4.d и rc5.d...причем если вручную делать service mystartsscript stop, то скрипт работает...

_________________
жестокая реальность нашей жизни заключается в непримиримой борьбе нашего существа с непреодолимыми желаниями...C уважением :-)....



Партнер
 

Member
Статус: Не в сети
Регистрация: 18.08.2005
Откуда: Новосибирск
вообщем решение найдено...оказывается, чтобы скрипту при перезагрузке(или на уровнях 0,1 и 6) отправилась команда 'service mystartscript stop' нужно при старте скрипта положить в папку /var/lock/subsys пустой файл с именем, таким же как у скрипта....т.е. сделать 'touch /var/lock/subsys/mystartscript'....и главно не забыть его потом удалить(т.е. в stop добавить строку 'rm -f /var/lock/subsys/mystartscript')...

_________________
жестокая реальность нашей жизни заключается в непримиримой борьбе нашего существа с непреодолимыми желаниями...C уважением :-)....


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 2 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan