linux下STAF执行失败时的处理

最近使用staf时,老是提示xxx.so找不到,按照网上的解决方案设置了,都不行,结果发现问题出现在命令上面:

使用screen防止ssh突然断链,而screen和普通直接登录ssh时不一样.执行命令时,我直接使用了:screen xxx,

猜想:screen command时,在未执行 /etc/profile.从而导致使用xshell登录ssh的环境变量和command通过screen运行时的环境变量不一致.

修复错误: screen -t "windows name"后,先执行一下/etc/profile,然后再执行自己的命令.

 
附上找不到libSTAF.so时,网上的一般解决方案:

1、启动时:error while loading shared libraries: libSTAF.so: cannot open shared object file: No such file or directory

 

解决思路:

(1)、staf默认安装在/usr/local/staf下,如果当前用户不是root用户,确认登录用户有操作该文件夹的权限。

(2)、LD_LIBRARY_PATH未配置staf的库

export LD_LIBRARY_PATH=/usr/local/staf/lib

(3)、LD_LIBRARY_PATH配置成功后运行STAFProc有如下提示:

STAF bin directory not found in PATH, STAF RC: 48, OS RC: 0

配置PATH:PATH=/usr/local/staf/bin:$PATH
export PATH

 

2、linux下安装staf之前,

cd /usr/lib

ll libstdc*

如果有C库,不用安装了。

 

3、若安装stax,需先安装jvm或者带jvm的staf

 

4、配置好stax启动staf时,

Error constructing service, JSTAF, Result: Unable to connect to JVM

并且/usr/local/staf/data/STAF/lang/java/jvm/STAFJVM1中的日志为

Caused by: java.lang.ClassNotFoundException: com.ibm.staf.service.STAFServiceHelper

解决:

(1)确认的位置JSTAF.jar:windows默认在C:STAFinJSTAF.jar,linux默认在/usr/local/staf/lib/JSTAF.jar。

(2)将JSTAF.jar添加到CLASSPATH中。
| 0个评论