Здравствуйте!!!
Как сделать чтобы в перловом скрипте комп дождался завершения работы Squid'а, а потом начал переименовывать логи??? У меня прикси думает несколько секунд и этих нескольких секунд хватает чтобы прокси успел написать инфу в уже заменненный лог когда сам еще не перенастроен!!!Скрипть выглядет примерно так
...
system ("/etc/init.d/squid2 stop"); # Завершение Squid
А здесь у меня происходит перенастройка конфига, замена логов и
затем запуск Squid!!!!Такое очущение что скрипт не дожидается полного останова прокси и выполняет скрипт дальше!!! А у меня трафик из-за этого мешается при перезагрузке и изменениями параметров (прова)!!!
>Здравствуйте!!!
>Как сделать чтобы в перловом скрипте комп дождался завершения работы Squid'а, а
>потом начал переименовывать логи??? У меня прикси думает несколько секунд и
>этих нескольких секунд хватает чтобы прокси успел написать инфу в уже
>заменненный лог когда сам еще не перенастроен!!!
>
>Скрипть выглядет примерно так
>
>...
>system ("/etc/init.d/squid2 stop"); # Завершение Squid
>А здесь у меня происходит перенастройка конфига, замена логов и
>затем запуск Squid!!!!
>
>Такое очущение что скрипт не дожидается полного останова прокси и выполняет скрипт
>дальше!!! А у меня трафик из-за этого мешается при перезагрузке и
>изменениями параметров (прова)!!!killall -w squid
>>Здравствуйте!!!
>>Как сделать чтобы в перловом скрипте комп дождался завершения работы Squid'а, а
>>потом начал переименовывать логи??? У меня прикси думает несколько секунд и
>>этих нескольких секунд хватает чтобы прокси успел написать инфу в уже
>>заменненный лог когда сам еще не перенастроен!!!
>>
>>Скрипть выглядет примерно так
>>
>>...
>>system ("/etc/init.d/squid2 stop"); # Завершение Squid
>>А здесь у меня происходит перенастройка конфига, замена логов и
>>затем запуск Squid!!!!
>>
>>Такое очущение что скрипт не дожидается полного останова прокси и выполняет скрипт
>>дальше!!! А у меня трафик из-за этого мешается при перезагрузке и
>>изменениями параметров (прова)!!!
>
>killall -w squid
Мне надо чтобы скрипт дождался пока полностью выполнится команда system
>Мне надо чтобы скрипт дождался пока полностью выполнится команда systemsystem() в perl сразу возвращает управление. Используй open:
open(PRG, "/etc/init.d/squid2 stop |") or die;
>>Мне надо чтобы скрипт дождался пока полностью выполнится команда system
>
>system() в perl сразу возвращает управление. Используй open:
>open(PRG, "/etc/init.d/squid2 stop |") or die;
А по моему тагда проще использовать PID процесса :)
>...
>system ("/etc/init.d/squid2 stop"); # Завершение Squid
sleep(1) while (kill(0, $pid)); после system подойдет ?
Привет,> 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,
>Коллега, с чего вы это так? Выдержка из "man perlfunc":да, извиняюсь.. запямятовал, что я специально для этого форкал system...
>Здравствуйте!!!
>Как сделать чтобы в перловом скрипте комп дождался завершения работы Squid'а, а
>потом начал переименовывать логи???
squid -k rotate