我有一个有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身份运行,则正常启动。
有什么想法吗?
在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)