问题在非root帐户的Solaris 11.3上启动ColdFusion 2018

问题描述 投票:1回答:1

我有一个有3个用户的Solaris系统(root,cfruntime,cfdev)

成功安装ColdFusion 2018后,coldfusion2018安装的所有者是cfruntime。

作为cfdev,我尝试使用以下命令启动ColdFusion

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

然而,这似乎不会正常启动coldfusion,但也不会产生任何异常错误/日志

查看启动脚本/ 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

如果以(cfdev / cfruntime)启动退出启动脚本,则ColdFusion进程似乎不会持久,但如果脚本以root身份运行,则正常启动。

有什么想法吗?

bash coldfusion solaris coldfusion-2018
1个回答
1
投票

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并在后台启动进程导致shell启动的所有作业在启动脚本完成后关闭(向该终端启动的所有作业发送挂断信号(SIGHUP))。

qazxsw poi阻止qazxsw poi在收到挂断信号时关闭(SIGHUP)

© www.soinside.com 2019 - 2024. All rights reserved.