jboss stop 脚本问题

LRALY 2011-01-28 01:47:25
自己建立一个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
...全文
46 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
程声明:该课程是教学使用,视频内涉及漏洞利用方法,请勿在互联网环境中使用;维护互联网安全,人人有责。实验所需环境:vmware;kali虚拟机一台;windows server一台;有docker环境的Linux虚拟机环境下载地址在购买课程后单独发送 【课程配套资源】1、Python脚本(Margin老师自研,不光能学漏洞,还能学Python,实在是划算)2、与Margin老师实时互动3、免费的CISP-PTE考试技巧指导(Margin老师与CISP-PTE的负责人很熟的,非常多的一手消息^o^)4、Margin老师的内部直播可以优先参加5、Margin老师的课程基于CISP-PTE的知识体系进一步扩展,使课程内容更贴近实战   【课程主要解决问题】1、CSRF、SSRF搞不清楚?2、SSRF原理是什么?危害大小?如何利用SSRF获取主机权限?如果使用Python提高挖洞效率?3、Gopher协议、Dict协议?完全没听过啊,没关系,看完课程后你门清。4、SSRF渗透Redis数据库,Redis客户端和服务器端怎么通信?通信报文是怎么样的?看这里就行。5、SSRF渗透Struts2总是失败?不知道如何编码?不知道如何使用Gopher协议?来这里。6、SSRF表面简单,实则有无数坑,通过视频提高学习效率吧。 【CISP-PTE介绍】1、CISP-PTE是进入网络安全行业的TOP1认证,能帮你梳理完整的网络安全知识体系2、有PTE证书在网络安全公司是免技术笔试的,怎么样?是不是很棒。3、Margin老师的课程基于CISP-PTE的知识体系进一步扩展,使课程内容更贴近实战本课程属于CISP-PTE渗透测试工程师认证体系的课程,但内容更加丰富。CISP-PTE是国内第一个以动手实操为主的网络安全认证,该注册考试是为了锻炼考生世界解决网络安全问题的能力,持续增强我国的网络安全水平和防御能力,促进国内网络防御能力的不断提高。考试内容从多个层面进行,考点和网络安全动态相结合,真实的反应出真实的网络环境中发现的各种问题。如果要考取CISP-PTE证书需要掌握以下内容:1、Web安全基础,注入漏洞、上传漏洞、跨站脚本漏洞、访问控制漏洞、会话管理漏洞哦等。2、中间件的安全知识,如:Apache,IIS,Tomcat,以及 JAVA 开发的中间件 Weblogic,Jboss, Websphere 等,且要了解中间件加固方法,在攻与防的能力上不断提升。3、操作系统安全,包含Windows和Linux操作系统,从账户管理、文件系统权限、日志审计等方面讲解,了解常见的漏洞方式和加固方法。4、数据库安全,包含MSSQL、MYSQL、ORACLE、REDIS数据,了解常用的数据库漏洞和题全方法,保证数据库的安全性。 【关于Margin老师】· Margin/教育系统网络安全保障人员认证首批讲师/高级讲师· 擅长CTF/Web安全/渗透测试 /系统安全· 3年研发/擅长Java/Python/某银行现金循环机业务系统开发者· 曾参与开发网络安全认证教材· 知乎专栏/CISP-PTE渗透测试工程师学习· 4年线下网络安全讲师/2000+线下学员/100000+线上学员

23,126

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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