The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Корректное завершение Perl-скрипта"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Корректное завершение Perl-скрипта" 
Сообщение от confeti Искать по авторуВ закладки(ok) on 03-Окт-05, 09:10  (MSK)
Подскажите, пожалуйста!
Вообщем, существует острая необходимость в том, чтобы Perl-скрипт(к примеру, /var/prog/test.pl), запускающийся в rc.d корректно завершал свою работу по сигналу stop.
------------------------------------------
Привожу скрипт,запускающий test.pl в данное время
------------------------------------------
#!/bin/sh
case "$1" in
    start)
        /var/prog/test.pl &
        ;;

    stop)

        ;;

    *)
        echo ""
        echo "Usage: `basename $0` { start | stop }"
        echo ""
        ;;
esac
-----------------------------------

Что же мне необходимо добавить в test.pl, а также в его скрипт-запуска, приведенный мной выше???

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Корректное завершение Perl-скрипта" 
Сообщение от newser Искать по авторуВ закладки(ok) on 03-Окт-05, 09:41  (MSK)
>Подскажите, пожалуйста!
>Вообщем, существует острая необходимость в том, чтобы Perl-скрипт(к примеру, /var/prog/test.pl), запускающийся в
>rc.d корректно завершал свою работу по сигналу stop.
>------------------------------------------
>Привожу скрипт,запускающий test.pl в данное время
>------------------------------------------
>#!/bin/sh
>case "$1" in
>    start)
>        /var/prog/test.pl &
>        ;;
>
>    stop)
>
>        ;;
>
>    *)
>        echo ""
>        echo "Usage: `basename $0`
>{ start | stop }"
>        echo ""
>        ;;
>esac
>-----------------------------------
>
>Что же мне необходимо добавить в test.pl, а также в его скрипт-запуска,
>приведенный мной выше???

Как вариант, запоминаете в каком-нибудь файле типа /var/run/test.pid номер процесса, а stop осуществлять примерно так:

kill `cat /var/run/test.pid`

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Корректное завершение Perl-скрипта" 
Сообщение от jonatan Искать по авторуВ закладки(ok) on 03-Окт-05, 09:47  (MSK)
В стартовых скриптах еще используется функция killproc из /etc/init.d/functions:
killproc $prog
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Корректное завершение Perl-скрипта" 
Сообщение от Skif Искать по авторуВ закладки(ok) on 03-Окт-05, 13:15  (MSK)

@ARGV - читаем что передали и прибиваем процесс
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Корректное завершение Perl-скрипта" 
Сообщение от DogEater Искать по авторуВ закладки(ok) on 03-Окт-05, 16:22  (MSK)
я для кода-то писал так:
sub term_handler {
# делай перед завершением что хошь
    exit 0;
}

$SIG{TERM}=\&term_handler;


и убивал процесс kill PID_процесса
всё работало нормально

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Корректное завершение Perl-скрипта" 
Сообщение от ejik emailИскать по авторуВ закладки(??) on 03-Окт-05, 17:04  (MSK)
>я для кода-то писал так:
>sub term_handler {
># делай перед завершением что хошь
>    exit 0;
>}
>
>$SIG{TERM}=\&term_handler;
>
>
>и убивал процесс kill PID_процесса
>всё работало нормально


А еще в секции stop скрипта, управляющего прогой на perl, вместо
kill <номер процесса>
можно написать
killall test.pl

По-моему должно работать :)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру