1

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

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

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

sudo /disktwo/coldfusion2018/cfusion/bin/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.crtl-z , bg

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

有什么想法吗?

4

1 回答 1

1

在命令 nohup之前添加 a并将输出发送给我$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))。

当它收到挂断信号(SIGHUP)时,它nohup可以防止关闭$JAVA_EXECUTABLE

于 2019-03-07T18:34:28.550 回答