The OpenNET Project / Index page

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

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

"Как дождаться полного завершения программы с скрипте Perl ?"
Сообщение от Harbrok emailИскать по авторуВ закладки(ok) on 24-Янв-05, 14:45  (MSK)
Здравствуйте!!!
Как сделать чтобы в перловом скрипте комп дождался завершения работы Squid'а, а потом начал переименовывать логи??? У меня прикси думает несколько секунд и этих нескольких секунд хватает чтобы прокси успел написать инфу в уже заменненный лог когда сам еще не перенастроен!!!

Скрипть выглядет примерно так

...
system ("/etc/init.d/squid2 stop"); # Завершение Squid
А здесь у меня происходит перенастройка конфига, замена логов и
затем запуск Squid!!!!

Такое очущение что скрипт не дожидается полного останова прокси и выполняет скрипт дальше!!! А у меня трафик из-за этого мешается при перезагрузке и изменениями параметров (прова)!!!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "Как дождаться полного завершения программы с скрипте Perl ?"
Сообщение от zabudkin emailИскать по авторуВ закладки(ok) on 24-Янв-05, 14:49  (MSK)
>Здравствуйте!!!
>Как сделать чтобы в перловом скрипте комп дождался завершения работы Squid'а, а
>потом начал переименовывать логи??? У меня прикси думает несколько секунд и
>этих нескольких секунд хватает чтобы прокси успел написать инфу в уже
>заменненный лог когда сам еще не перенастроен!!!
>
>Скрипть выглядет примерно так
>
>...
>system ("/etc/init.d/squid2 stop"); # Завершение Squid
>А здесь у меня происходит перенастройка конфига, замена логов и
>затем запуск Squid!!!!
>
>Такое очущение что скрипт не дожидается полного останова прокси и выполняет скрипт
>дальше!!! А у меня трафик из-за этого мешается при перезагрузке и
>изменениями параметров (прова)!!!

killall -w squid

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как дождаться полного завершения программы с скрипте Perl ?"
Сообщение от Harbrok emailИскать по авторуВ закладки(??) on 24-Янв-05, 14:53  (MSK)
>>Здравствуйте!!!
>>Как сделать чтобы в перловом скрипте комп дождался завершения работы Squid'а, а
>>потом начал переименовывать логи??? У меня прикси думает несколько секунд и
>>этих нескольких секунд хватает чтобы прокси успел написать инфу в уже
>>заменненный лог когда сам еще не перенастроен!!!
>>
>>Скрипть выглядет примерно так
>>
>>...
>>system ("/etc/init.d/squid2 stop"); # Завершение Squid
>>А здесь у меня происходит перенастройка конфига, замена логов и
>>затем запуск Squid!!!!
>>
>>Такое очущение что скрипт не дожидается полного останова прокси и выполняет скрипт
>>дальше!!! А у меня трафик из-за этого мешается при перезагрузке и
>>изменениями параметров (прова)!!!
>
>killall -w squid
Мне надо чтобы скрипт дождался пока полностью выполнится команда system

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Как дождаться полного завершения программы с скрипте Perl ?"
Сообщение от butcher emailИскать по авторуВ закладки(ok) on 24-Янв-05, 15:01  (MSK)
>Мне надо чтобы скрипт дождался пока полностью выполнится команда system

system() в perl сразу возвращает управление. Используй open:
open(PRG, "/etc/init.d/squid2 stop |") or die;

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Как дождаться полного завершения программы с скрипте Perl ?"
Сообщение от Harbrok emailИскать по авторуВ закладки(??) on 24-Янв-05, 15:44  (MSK)
>>Мне надо чтобы скрипт дождался пока полностью выполнится команда system
>
>system() в perl сразу возвращает управление. Используй open:
>open(PRG, "/etc/init.d/squid2 stop |") or die;
А по моему тагда проще использовать PID процесса :)


  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Как дождаться полного завершения программы с скрипте Perl ?"
Сообщение от chip emailИскать по авторуВ закладки(ok) on 24-Янв-05, 23:11  (MSK)
>...
>system ("/etc/init.d/squid2 stop"); # Завершение Squid


sleep(1) while (kill(0, $pid)); после system подойдет ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Как дождаться полного завершения программы с скрипте Perl ?"
Сообщение от Асен Тотин emailИскать по авторуВ закладки on 25-Янв-05, 01:20  (MSK)
Привет,

> system() в perl сразу возвращает управление

Коллега, с чего вы это так? Выдержка из "man perlfunc":

system PROGRAM LIST
       Does exactly the same thing as "exec LIST", except that a fork
       is done first, and the parent process waits for the child pro-
       cess to complete.

WWell,


  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Как дождаться полного завершения программы с скрипте Perl ?"
Сообщение от butcher emailИскать по авторуВ закладки(ok) on 25-Янв-05, 08:37  (MSK)
>Коллега, с чего вы это так? Выдержка из "man perlfunc":

да, извиняюсь.. запямятовал, что я специально для этого форкал system...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Как дождаться полного завершения программы с скрипте Perl ?"
Сообщение от Андрей Искать по авторуВ закладки(??) on 25-Янв-05, 03:58  (MSK)
>Здравствуйте!!!
>Как сделать чтобы в перловом скрипте комп дождался завершения работы Squid'а, а
>потом начал переименовывать логи???
squid  -k rotate
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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