Назад | Перейти на главную страницу

Запускаем экран через svcadm с Solaris 11

Я столкнулся с проблемой при попытке запустить отдельный экран через службу Solaris 11.

Этот сервис управляет nginx. Когда я перезагружаю систему, экран не запускается, но если я выдаю svcadm disable nginx затем svcadm enable nginx вручную. Остальная часть сценария инициализации корректно работает при перезагрузке (запускается демон nginx и т. Д.).

Часть службы, запускающая экран, выглядит так:

case "$1" in
    start)            
        echo "Starting Nginx Logger: \c"
        /usr/bin/screen -S nginxLogger -d -m /opt/php-5.3.10/bin/php $loggingProg
        LogRetVal=$?
        [ $LogRetVal -eq 0 ] & echo "ok" || echo "failed"
        ....

Журнал (/var/svc/log/network-nginx:default.log) показывает, что $ LogRetVal возвращает 0, а $ loggingProg просто указывает на сценарий PHP.

Если это важно, когда я вручную перезапускаю службу, я вхожу в систему как root. Я не уверен, как проверить, является ли это проблемой с разрешением (я новичок в Solaris, я недавно перешел с CentOS / RHEL).

Скорее всего, после перезагрузки он начнется слишком рано ... может быть раньше, чем работа сети. Поместите правильные зависимости в XML описания службы.

Кстати svcs -xv распечатывает службы в состоянии обслуживания и свой файл журнала, в котором можно найти потенциальную ошибку.

И по какой причине screen? Вроде какое-то недопонимание SMF.