Проблема скрипта init.d

Сценарий init.d установлен правильно, и я написал его правильно. Но у меня очень странная ситуация. Скрипт выполняет многопоточную программу, написанную мной на c ++. Если я запускаю программу через терминал (я установил в / usr / sbin /) как: "MyProgram & amp;" все отлично. Но если эта программа выполняется сценарием init.d, один поток завершается неудачно. Другие потоки программы, как и другие функции спецификаций скрипта init.d, работают как положено. Я также должен упомянуть, что неработающий поток делает снимок рабочего стола каждые 30 секунд. Очевидно, что проблема должна быть в сценарии init.d. Я попытался запустить программу в этом сценарии следующим образом:

$DAEMON &
exec $DAEMON &
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON &
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON & > /dev/null

Где $PIDFILE = /var/run/$NAME.pid ; $DAEMON = /usr/sbin/$NAME; $NAME = MyProgram Во всех случаях у меня один и тот же результат: один поток завершается неудачно. Есть идеи?

0
задан 17 October 2013 в 22:27

1 ответ

Я нашел рабочее решение моей проблемы. Из-за конфигурации X-сервера вы не можете подключиться к нему в сценариях инициализации, хотя я попытался настроить X-сервер так, чтобы разрешить входящие подключения к порту tcp, но мне не удалось подключиться. Поэтому я запустил свою программу, когда X начинается с добавления display-setup-script=path_to_script в /etc/lightdm/lightdm.conf. Решение, которое я нашел здесь: Запустить программу при запуске X

0
ответ дан 17 October 2013 в 22:27

Другие вопросы по тегам:

Похожие вопросы: