kpp » 2012-01-30 18:30:41
Есть скрипт (check_dial_ppp.sh), который проверяет канал в инет (PPP).
Скрипт сам по себе работает отлично. Также отлично работает и при запуске его из крона.
Теперь появилась надобность запускать этот скрипт не напрямую, а через второй скрипт.
Запускаю так:
- Код: Выделить всё
CHECK_SCR="`sh check_dial_ppp.sh UP 4 75 "lenta.ru ex.ua"`"
CURR_STATE="$?"
где в переменной CHECK_SCR хочу получить текстовое описание результата скрипта, в CURR_STATE - код выполнения скрипта.
Если проверяемый канал по PPP упавший, скрипт check_dial_ppp.sh канал поднимает, полностью отрабатывает(видно по логу), но второй скрипт(из которого был вызван check_dial_ppp.sh) остается на строке
- Код: Выделить всё
CHECK_SCR="`sh check_dial_ppp.sh UP 4 75 "lenta.ru ex.ua"`"
и стоит так, пока его насильно не убить ИЛИ если насильно убить созданный процесс
- Код: Выделить всё
ppp -ddial intertelecom
.
Т.е. шелл, в котором был запущен скрипт check_dial_ppp.sh не завершает свою работу, пока порожденный в нем процесс ppp не завершится.
Как разрулить?
Есть скрипт (check_dial_ppp.sh), который проверяет канал в инет (PPP).
Скрипт сам по себе работает отлично. Также отлично работает и при запуске его из крона.
Теперь появилась надобность запускать этот скрипт не напрямую, а через второй скрипт.
Запускаю так: [code]CHECK_SCR="`sh check_dial_ppp.sh UP 4 75 "lenta.ru ex.ua"`"
CURR_STATE="$?"[/code]
где в переменной CHECK_SCR хочу получить текстовое описание результата скрипта, в CURR_STATE - код выполнения скрипта.
Если проверяемый канал по PPP упавший, скрипт check_dial_ppp.sh канал поднимает, полностью отрабатывает(видно по логу), но второй скрипт(из которого был вызван check_dial_ppp.sh) остается на строке [code]CHECK_SCR="`sh check_dial_ppp.sh UP 4 75 "lenta.ru ex.ua"`"[/code] и стоит так, пока его насильно не убить ИЛИ если насильно убить созданный процесс [code]ppp -ddial intertelecom[/code].
Т.е. шелл, в котором был запущен скрипт check_dial_ppp.sh не завершает свою работу, пока порожденный в нем процесс ppp не завершится.
Как разрулить?