Доброго времени суток. Есть небольшой скрипт на SH, запускающий захват с тюнера. В параметрах mencodera в скрипте указано время захвата 18 часов. При запуске скрипта из терминала все работает отлично. При запуске через cron захват останавливается примерно через полтора часа. Ошибок никаких не вылетает, все пишется в лог. Там нормальное завершение работы mencoder´а. Может быть cron как то ограничивает максимальное время выполнения скрипта? Не могу решить эту проблему. Буду благодарен за любую помошь.
>Может быть cron как то ограничивает максимальное время выполнения скрипта?Ну, попробуй его, скрипт, в screen-е пускать...
http:/search.shtml?words=screen&sort=score&exclude=&restrict...
http:/keywords/screen.html
и пр.
>Ну, попробуй его, скрипт, в screen-е пускать...Хм. Чтото не пойму как запустить screen на экран? При запуске его из скрипта двойным щелчком скрипт отрабатывает, сессия screen создается но на экран ничего не выводится.
>>Ну, попробуй его, скрипт, в screen-е пускать...
>
>Хм. Чтото не пойму как запустить screen на экран? При запуске его
>из скрипта двойным щелчком скрипт отрабатывает, сессия screen создается но на
>экран ничего не выводится.screen -ls = посмотреть "запущенные" screen-ы
screen -R 11887..host = "подключить" экран к такой-то сессии
Ctrl-a d = открючить экран от сессии, оставив её "в фоне" работатьПример: запустил команду (sleep) в новой scrren сессии, посмотрел список сессий, подождал завершения, посмотрел список сессий снова.
$ screen -d -m sleep 10
$ screen -ls
There are screens on:
4329.pts-0.host (Detached)
11887..host (Detached)
2 Sockets in /var/run/screen/S-.$ sleep 10; screen -ls
There is a screen on:
4329.pts-0.host (Detached)
1 Socket in /var/run/screen/S-.$ _
~ одной сессией меньше = запущенный sleep отработал.
Приложение: В кроне -- screen -d -m /path/to/your/scripppttt
спасибо! отлично! метод понял, вопрос решен! :)
>>Ну, попробуй его, скрипт, в screen-е пускать...
> Хм. Чтото не пойму как запустить screen на экран? При запуске его
> из скрипта двойным щелчком скрипт отрабатывает, сессия screen создается но на
> экран ничего не выводится.Бла точно такая точно такая же проблемма. Скрипт написанный на питоне выполнялся с консоли а при запуске из крона мог отработать а мог упасть. Целый день убил. Спасибо огромное помогло.
>Доброго времени суток. Есть небольшой скрипт на SH, запускающий захват с тюнера.
>В параметрах mencodera в скрипте указано время захвата 18 часов. При
>запуске скрипта из терминала все работает отлично. При запуске через cron
>захват останавливается примерно через полтора часа. Ошибок никаких не вылетает, все
>пишется в лог. Там нормальное завершение работы mencoder´а. Может быть cron
>как то ограничивает максимальное время выполнения скрипта? Не могу решить эту
>проблему. Буду благодарен за любую помошь.Если помог screen, а читать вывод скрипта не понадобится, то может просто все в /dev/null выбросить?
srv# /my/consolescript &> /dev/null
или в файл какой...
"&>" перенаправляет и вывод и ошибки
>Если помог screen, а читать вывод скрипта не понадобится, то может просто
>все в /dev/null выбросить?
>srv# /my/consolescript &> /dev/null
>или в файл какой...
>"&>" перенаправляет и вывод и ошибкиперенаправлять не пришлось. скрипт работает 18 часов в сутки, как и планировалось. screen автоматом убивается после завершения работы mencoder'а. все отлично :)
лог собирался вести, но передумал.
>Доброго времени суток. Есть небольшой скрипт на SH, запускающий захват с тюнера.
>В параметрах mencodera в скрипте указано время захвата 18 часов. При
>запуске скрипта из терминала все работает отлично. При запуске через cron
>захват останавливается примерно через полтора часа. Ошибок никаких не вылетает, все
>пишется в лог. Там нормальное завершение работы mencoder´а. Может быть cron
>как то ограничивает максимальное время выполнения скрипта? Не могу решить эту
>проблему. Буду благодарен за любую помошь.Нет ли в конце лога
... interrupted by signal 2 in module ...
?
Если есть, покури в сторону ulimit (man bash /ulimit),
возможно /etc/security/limits.conf или ещё где-нибудь в bashrc,
учитывая что через cron скрипт работает от рута.
>
>Нет ли в конце лога
>... interrupted by signal 2 in module ...
>?
>Если есть, покури в сторону ulimit (man bash /ulimit),
>возможно /etc/security/limits.conf или ещё где-нибудь в bashrc,
>учитывая что через cron скрипт работает от рута.лог был правильный, без ошибок. в чем проблема была не понял, но screen помог.
дальше копать времени нет, т.к. следующие задачи начальство выкатило :)
если будет время, то попробую понять глубже.