Проблема Запуск ColdFusion 2018 на Solaris 11.3 с учетной записью без полномочий root - PullRequest
0 голосов
/ 01 марта 2019

У меня есть система Solaris с 3 пользователями (root, cfruntime, cfdev)

После успешной установки ColdFusion 2018 владельцем установки coldfusion2018 является cfruntime.

Как cfdev Iпопробуйте запустить ColdFusion с помощью следующей команды

sudo / disktwo / coldfusion2018 / cfusion / bin / coldfusion start

Это, однако, не запускает Coldfusion нормально, но также не 't сгенерировать любую необычную ошибку / log

Просмотр сценария запуска / disktwo / coldfusion2018 / cfusion / bin / coldfusion.Следующие строки фактически запускают ColdFusion

CFSTART='su $RUNTIME_USER -c "LD_LIBRARY_PATH=$LD_LIBRARY_PATH; 
        export LD_LIBRARY_PATH; 
        cd $CF_DIR/bin; 
        $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS
        com.adobe.coldfusion.bootstrap.Bootstrap -start &"'

eval $CFSTART > /dev/null

Интересное наблюдение, которое я сделал, заключалось в том, что если бы я удалил & в конце CFSTART, ColdFusion запустился бы нормально (хотя мне нужно поместить его вфон crtl-z , bg)

Процесс ColdFusion не выглядит постоянным после выхода из сценария запуска, если он запускается как (cfdev / cfruntime), но запускается нормально, если сценарий запускается от имени пользователя root.

Есть мысли?

1 Ответ

0 голосов
/ 07 марта 2019

Добавление nohup перед командой $JAVA_EXECUTABLE и отправка вывода на >/dev/null 2>&1 помогли мне

CFSTART='su $RUNTIME_USER -c "LD_LIBRARY_PATH=$LD_LIBRARY_PATH; 
        export LD_LIBRARY_PATH; 
        cd $CF_DIR/bin; 
        nohup $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS
        com.adobe.coldfusion.bootstrap.Bootstrap -start > /dev/null 2>&1 &"'

Я обнаружил, что переключение на пользователя во время выполнения su $RUNTIME_USERи запуск процесса в фоновом режиме вызвал закрытие всех заданий, запущенных оболочкой, после завершения сценария запуска (отправка сигнала зависания (SIGHUP) всем заданиям, запущенным этим терминалом).

nohup предотвращает закрытие $JAVA_EXECUTABLE при получении сигнала зависания (SIGHUP)

...