LINUX.ORG.RU

Не работает sleep (не про спящий режим)


0

0

В /etc/rc.local стоит запуск самописного демона-на-баше. В нём есть вызовы sleep. При загрузке системы на первом же sleep скрипт вываливается без каких-либо сообщений (проверено отладочным выводом в syslog). Если запустить его уже после загрузки системы - то все нормально.

Еще в том же rc.local есть запуск самописного демона-на-питоне. В нём тоже есть вызов time.sleep(). Точно такая же ситуация.

Подскажите хотя-бы, как можно определить из-за чего так.

Slack10.2@2.6.13.2

★★★

варианты : 
- по ходу где-то рядом стартует nntp или устанавливается часовой пояс ;
- не указан полный путь к sleep (что скорее всего) ;
- слака доведена до крайности самописными демонами-на-разных-языках,
  нестабильными ядрами и прочими вкусностями 

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Какая-то проблема с самом скрипте:

#!/bin/bash
cd /
exec 2>/dev/null
exec >/dev/null
exec </dev/null

(
while true ; do
sleep 2
do_someth
done
)&

Если так - то не работает. Если заменить в конеце ")&" на ")" то работает. То есть, когда завершается rc.local, завершается и мой скрипт. Почему так? И как сделать, чтобы так не было?

> слака доведена до крайности самописными демонами-на-разных-языках, нестабильными ядрами и прочими вкусностями

Не, вроде еще нет.

smartly ★★★
() автор топика
Ответ на: комментарий от smartly

>как сделать, чтобы так не было

1. напиши "respawn do_someth && sleep 2" в inittab и выброси этот скрипт.

2. попробуй disown после &

DonkeyHot ★★★★★
()
Ответ на: комментарий от smartly

Почему бы не написать просто скрипт и воспользоваться start-stop-daemon?

sdio ★★★★★
()
Ответ на: комментарий от DonkeyHot

ключевое слово disown и SIGHUP!
помогло trap "" HUP

Всем спасибо.

smartly ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.