无法将 psadmin 输出发送到日志

Not able to send psadmin output to logs

我正在制作一个脚本来重新启动一个实例,它可以在没有任何日志文件的情况下工作,但是当我尝试记录 psadmin 的输出时它会出现以下错误:

java.lang.NullPointerException 
        at com.peoplesoft.pt.psadmin.ui.Progress.<init>(Progress.java:135) 
        at com.peoplesoft.pt.psadmin.ui.Progress.getInstance(Progress.java:123) 
        at com.peoplesoft.pt.psadmin.pia.DomainBootHandler.BootWlsServer(DomainBootHandler.java:84) 
        at com.peoplesoft.pt.psadmin.pia.DomainBootHandler.run(DomainBootHandler.java:62) 
        at com.peoplesoft.pt.psadmin.pia.PIAAdminCmdLine.startDomain(PIAAdminCmdLine.java:270) 
        at com.peoplesoft.pt.psadmin.pia.PIAAdminCmdLine.run(PIAAdminCmdLine.java:481) 
        at com.peoplesoft.pt.psadmin.PSAdmin.runSwitched(PSAdmin.java:170) 
        at com.peoplesoft.pt.psadmin.PSAdmin.main(PSAdmin.java:232)

以下作品(无日志):

export ORAENV_ASK=NO
export ORACLE_SID=PSCNV
.oraenv
export TUXDIR=/m001/Oracle/Middleware/tuxedo12.1.1.0
. /m001/pt854/psconfig.sh
. $TUXDIR/tux.env
export PS_CFG_HOME=$PS_HOME

$PS_HOME/appserv/psadmin -w shutdown -d PSCNV
$PS_HOME/appserv/psadmin -w start -d PSCNV
$PS_HOME/appserv/psadmin -w status -d PSCNV

像这样更改 psadmin 调用会导致错误:

LOGFILE=/home/psoft/scripts/pscnv_webserv_stopNstart.log
test() {
   $PS_HOME/appserv/psadmin -w shutdown -d PSCNV
   $PS_HOME/appserv/psadmin -w start -d PSCNV
   $PS_HOME/appserv/psadmin -w status -d PSCNV
}
test >> ${LOGFILE}

我也尝试单独重定向每个调用的输出,但看到了同样的错误。

我也对这个问题的任何反馈感兴趣。我尝试编写一个 cross 平台 java 程序来反弹多个应用程序和 Web 服务器,似乎 psadmin.jar 程序在 psadmin 程序期间专门保留到 stdout。

我想评估 psadmin/psadmin.jar 的输出,看看是否存在需要在 os 级别终止进程的可捕获错误。

希望有办法共享标准输出,但我还没有找到办法...

这为我解决了这个问题。 nohup script -q -c "psadmin -w start -d peoplesoft"