jboss stop 脚本问题

LRALY 2011-01-28 02:42:45
自己建立一个control.sh文件,下面是文件里的内容,启动没问题,停止的时候有错误,见最下面
系统环境 Red Hat Enterprise Linux Server release 5.3


#!/bin/sh
#
# $Id: jboss_init_redhat.sh 60992 2007-02-28 11:33:27Z dimitris@jboss.org $
#
# JBoss Control Script
#
# To use this script run it as root - it will switch to the specified user
#
# Here is a little (and extremely primitive) startup/shutdown script
# for RedHat systems. It assumes that JBoss lives in /usr/local/jboss,
# it's run by user 'jboss' and JDK binaries are in /usr/local/jdk/bin.
# All this can be changed in the script itself.
#
# Either modify this script for your requirements or just ensure that
# the following variables are set correctly before calling the script.

JBOSS_HOME=/usr/server/jboss-4.2.2.GA
JAVA_HOME=/usr/java/jdk1.5.0_17
USER_NAME=`/usr/bin/id -un`
LOG_HOME=$JBOSS_HOME/logs
LOG_FILE=$LOG_HOME/run
rval=0


## kill the child process
kill_child()
{
pid_list=`ps -o user=$USER_NAME -o pid -o ppid -o args -eaf | grep "$2" | grep -v "grep" | /usr/bin/awk '{if($3==parent) print $2}' parent=$2`

# kill parent process first
# after kill the parent, the child will be hung under "1" main process
kill $1 $2 >> $LOG_FILE-`date '+%y-%m-%d'`.log 2>&1

# kill child following
for i in $pid_list
do
/bin/echo "\t kill child process id: $i ... \c"
kill $1 $i >> $LOG_FILE-`date '+%y-%m-%d'`.log 2>&1
ret=$?
if [ $ret -ne 0 ]; then
/bin/echo "failed."
else
/bin/echo "done."
fi
done
}


## function of stop broker
stop_broker()
{
pid_list=`ps -o user=$USER_NAME -o pid -o ppid -o args -eaf | grep $USER_NAME | grep "$1" | grep -v grep | /usr/bin/awk '{print $2}'`

for i in $pid_list
do
/bin/echo "Parent process id: $i"
kill_child -9 $i "$1"
/bin/echo "done."
/bin/echo "jBoss Server stopped!" >> $LOG_FILE-`date '+%y-%m-%d'`.log
done

}


## function of start broker
start_broker()
{
# cur_list=`/usr/bin/ps -o user=$USER_NAME -o pid -o ppid -o args -eaf | /usr/bin/grep $JBOSS_HOME/bin/runjboss | /usr/bin/grep -v "grep"`
# if [ "$cur_list" != "" ]; then
# /bin/echo "There has already a proccess started!"
# exit 0
# fi

# rm -rf $JBOSS_HOME/tomcat-4.1.x/work/MainEngine >> /dev/null 2>&1
rm -rf $JBOSS_HOME/server/all/tmp/deploy/server >> /dev/null 2>&1
nohup $JBOSS_HOME/bin/runjboss.sh >> $LOG_FILE-`date '+%y-%m-%d'`.log 2>&1 &

ret=$?
if [ $ret -ne 0 ]; then
/bin/echo "failed!"
/bin/echo "EXIT CODE: $ret"
rval=1
else
/bin/echo "successfully!"
fi
}


## Main process

case "$1" in
'start')
/bin/echo "Starting jBoss Server with Catalina ... \c"
start_broker
;;
'stop')
/bin/echo "Stopping jBoss Server ... "
stop_broker $JBOSS_HOME/bin/runjboss
#$JBOSS_HOME/bin/shutdown.sh -S
#rm -rf $JBOSS_HOME/tomcat-4.1.x/work/MainEngine >> /dev/null 2>&1
#rm -rf $JBOSS_HOME/server/all/tmp/deploy/server >> /dev/null 2>&1
;;
'restart')
/bin/echo "Stopping jBoss Server ... "
stop_broker $JBOSS_HOME/bin/runjboss
#$JBOSS_HOME/bin/shutdown.sh -S
#rm -rf $JBOSS_HOME/tomcat-4.1.x/work/MainEngine >> /dev/null 2>&1
#rm -rf $JBOSS_HOME/server/all/tmp/deploy/server >> /dev/null 2>&1
/bin/echo "Starting jBoss Server with Catalina ... \c"
start_broker
;;
*)
/bin/echo "usage: $0 {start|stop|restart}"
;;
esac

exit $rval




执行到
stop_broker()方法的第一行
pid_list=`ps -o user=$USER_NAME -o pid -o ppid -o args -eaf | grep $USER_NAME | grep "$1" | grep -v grep | /usr/bin/awk '{print $2}'`
的时候提示Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
...全文
51 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
聆听随风 2011-03-25
  • 打赏
  • 举报
回复
域名的泛解析解析到了哪里

6,787

社区成员

发帖
与我相关
我的任务
社区描述
JBoss技术交流
社区管理员
  • JBoss技术交流社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧