IBM AIX shell脚本启动java程序不成功

今天写了个很简单的java程序启动脚本,放在/usr/jspider/ 下面,直接cd到/usr/jspider下面可以正常运行。而通过chkconfig 注册为服务后,service myserver start 却启动不了,报找不到class:
Exception in thread "main" java.lang.NoClassDefFoundError: org.apache.mina.core.polling.AbstractPollingIoAcceptor
而同样的脚本放在ubuntu10.04上运行却没有任务问题,求高手解答,感谢!
/etc/rc.d/init.d/myserver
#!/bin/bash
# chkconfig: 012345 20 80
# description: jspider server1.0

HOME_DIR=/usr/JSpider/
PID_FILE=$HOME_DIR/jspider.pid

start()
{
echo "start jspider"
cd $HOME_DIR
./startup.sh
exit 0;
}
stop()
{

echo -n "stop jspider"
if kill `cat $PID_FILE`
then
echo " [ok]"
else
echo " [failed]"
fi

}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "usage: $0 start|stop|restart"
exit 0;
esac

startup.sh
#!/bin/sh
java -jar -Xms128M -Xmx1000M jspider.jar /dev/null 2>&1 &
echo $! > jspider.pid

貌似classpath环境变量没设好。。。你确定自己手工执行单个命令的时候没问题?

org.apache.mina.core.polling.AbstractPollingIoAcceptor 放在什么地方?或者你把jspider.jar里面的manifest解出来看看?
温馨提示:内容为网友见解,仅供参考
无其他回答

AIX 脚本执行的时候提示“ksh: .\/T***.sh: not found.”
问题也许很简单,是不是在windows上编写的然后传到AIX上,会存在看不见的回车等非法字符,仔细检查一下。

shell脚本中调用JAVA 程序,如何让JAVA运行结束后,再执行下面命令(只有j...
调用java的时候不要挂在后台执行就可以了, 如果说你的java程序名叫 Test.class 或者 Test.jar shell脚本里调用JAVA程序 !\/bin\/sh java Test.class ##或者java -jar Test.jar stat=`sqlplus ...`if [ $stat = "**"]then nohup sh single1.sh fi shell里的命令也是按顺序执行的,java...

aix下如何用shell脚本根据进程的CPU占用率定时杀死进程
for pname in $* #0.0.5 do pid=`ps -e | grep $pname |sed -e '\/grep\/D' -e 's\/^ *\/\/' -e 's\/ .*\/\/'`echo now killing pocess $pname pid is $pid kill -15 $pid done exit 0 else echo 'usage: kpn <process_name_you_want_to_kill>'exit 1 fi ...

在AIX小机上跑的shell脚本报错:0403-057 Syntax error at line 8...
提示很清楚了,第8行多了个单引号,其实应该是for语句上面那行,printf后面单引号使用不当。

aix下的shell脚本。 同一类文件,只保留最近时间的一份,其余删除_百度...
-u选项是删除后续序列号重复的行在前一步已经将文件按时间排序,所以这行执行后就是需要保留的文件名#本来这一步就差不多了,考虑到系统会定时产生文件,所以要把需要删除的文件名弄出来grep -F -v -f temp4 temp3 >temp5 #求文件差集,temp3-temp4cat temp5 | awk '{print $1".zip"}' ...

aix下如何用shell脚本根据进程的CPU占用率定时杀死进程
topas是实时数据,而ps aux看到的进程%CPU是该进程的全寿命均值,不是实时数据

shell for循环在linux执行成功,在aix执行失败,求解答。
for ((i=1;i<=$no;i++));do ---> for i in seq $no do ps: aix 使用的 sh 应该不支持 "for (())" 这种用法.你查看下 echo $BASH 和 sh --version

怎么验证aix中bash是安装成功的?
rpm -ivh bash-3.2-1.aix5.2.ppc.rpm 等待完成即安装好了 rpm -qa | grep bash 执行了有内容的话就说明已经安装成功了 第四步,换shell vi \/etc\/passwd 将root默认shell由\/usr\/bin\/ksh改为\/usr\/bin\/bash 修改完保存时只要:wq!强制保存就可以了 修改完退出终端重新开一个是不是linux下...

AIX命令简介
此外,AIX命令还支持多种脚本语言,如Bash、Korn Shell等,方便用户编写自动化脚本,实现系统的自动化管理。综上所述,AIX命令作为AIX系统的核心组成部分,为用户提供了强大的管理和操作能力。无论是日常维护、故障排查,还是系统优化、资源管理,AIX命令都是不可替代的重要工具。

aix系统命令
在很多应用系统中,系统管理员希望普通用户只运行自己的应用程序,不能进入系统的shell提示符下,但缺省情况下当用户在 终端上按CTRL+C键时就会退到系统提示符下。由于用户终端一般没有固定的端口号,为了禁止使用中断键,可采取下面办法: (1)如果使用ksh, 可在$HOME\/.profile中第一行加入如下内容: trap "echo 'Abnor...

相似回答