呵呵呵,想起了一个以前写的shell脚本,启动和关闭线程(myshell.sh)。
CLASS_PATH=dayemail.jar
CLASS_PATH=$CLASS_PATH:lib/activation.jar
CLASS_PATH=$CLASS_PATH:lib/classes12.jar
CLASS_PATH=$CLASS_PATH:lib/c3p0-0.9.1.2.jar
CLASS_PATH=$CLASS_PATH:lib/commons-email-1.2.jar
CLASS_PATH=$CLASS_PATH:lib/dom4j-1.6.jar
CLASS_PATH=$CLASS_PATH:lib/jaxen-1.1.1.jar
CLASS_PATH=$CLASS_PATH:lib/jxl.jar
CLASS_PATH=$CLASS_PATH:lib/log4j-1.2.16.jar
CLASS_PATH=$CLASS_PATH:lib/mail.jar
SERVER=/qzpt/mydayemail
cd $SERVER
case "$1" in
start)
nohup java -Dfile.encoding=UTF8 -Xms64M -Xmx256M -cp $CLASS_PATH com.trendsnet.myemail.EmailShell > $SERVER/server.log 2>&1 &
echo $! > $SERVER/server.pid
;;
stop)
kill `cat $SERVER/server.pid`
rm -rf $SERVER/server.pid
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: myshell.sh {start|stop|restart}"
;;
esac
exit 0
会自动生成server.pid记录当前线程的PID.
日志文件logger.info形式的日志记录进了Server.log ,当然也可以去掉写入Server.log改用自己的Log4j.
年代久远 ,记录另一个启动脚本,centos下可用:
CLASS_PATH=
# Append jars to CLASS_PATH
if [ -d lib ]; then
for i in lib/*.jar; do
CLASS_PATH="$CLASS_PATH":"$i"
done
fi
#启动命令
MSTART="java -Dfile.encoding=UTF8 -Xms128M -Xmx512M -cp $CLASS_PATH com.data.StartShell"
#停止
if [ "$1" = "stop" ]
then
#kill all Pid
pidlist=`ps -ef|grep com.data.check.StartShell | grep -v "grep"|awk '{print $2}'`
if [ "$pidlist" = "" ]
then
echo "No Service Running!"
else
for pid in ${pidlist}
do
kill -9 $pid
done
echo "Service Stop Success!"
fi
fi
#启动
if [ "$1" = "start" ]
then
pidlist=`ps -ef|grep com.data.check.StartShell | grep -v "grep"|awk '{print $2}'`
if [ "$pidlist" = "" ]
then
nohup $MSTART > /dev/null 2>&1 &
pidlist=`ps -ef|grep com.data.check.StartShell | grep -v "grep"|awk '{print $2}'`
if [ "$pidlist" = "" ]
then
echo "Service Start Failed!"
else
echo "Service Start Success!"
fi
else
echo "Service Exists!"
fi
fi
#检查是否启动
if [ "$1" = "check" ]
then
pidlist=`ps -ef|grep com.data.check.StartShell | grep -v "grep"|awk '{print $2}'`
if [ "$pidlist" = "" ]
then
echo "Service Not Exists!"
else
echo "Service Exists!"
fi
fi
#监控,如果不存在,自动启动
if [ "$1" = "monitor" ]
then
while [ 1 ] ;do
pidlist=`ps -ef|grep com.data.check.StartShell | grep -v "grep"|awk '{print $2}'`
if [ "$pidlist" = "" ]
then
nohup $MSTART > /dev/null 2>&1 &
fi
sleep 10;
done
fi
if [ -z "$1" ]
then
echo "Parm must be: [start|stop|check|monitor]"
fi
分享到:
相关推荐
Shell脚本一键启动和停止jar,包含启动所有,启动指定的jar,停止所有,停止指定的jar,重启所有的jar
Shell脚本启动和停止springboot的jar包,并增加了内存的配置
前言:打包好的springboot项目,可以使用java -jar xxx.jar的方式启动。当出现多个springboot项目需要启动的时候,可以使用脚本启动的方式。这在springcloud项目的开发测试阶段尤为有用。以下展示启动脚本示例,过程...
Linux下启动和停止jar包运行的脚本
部署springboot 项目时,替换包后的停止、启动、重启及状态查看,操作比较琐碎,因此我们可以通过编写一个shell脚本来进行启动(start)、停止(stop)、重启(restart)和状态查看(status)操作,一步到位,方便高效
shell启动jar程序的脚本,可以根据传入的参数"start"、"stop"、"restart"启动当前目录下的jar程序。
支持批量启动jar,停止jar,重启jar,同时也支持单个jar的启动,停止,重启. ./service.sh start all ./service.sh start homesaty
spring boot、springcloud项目一般为jar包形式运行,每次启动及关闭输命令很不爽,切且vm调优比较麻烦,编写shell脚本,将JVM调优参数及日常命令进行封装,操作简单,还不易出错,妙哉妙哉,此脚本已在我司正式使用...
shell脚本的使用步骤及jar包
cat /mnt/log_function.sh #!/bin/bash #log function ####log_correct函数打印正确的输出到日志文件 function log_correct () { DATE=`date “+%Y-%m-%d %H:%M:%S”` ####显示打印日志的时间...log_error打印shell脚本
此shell脚本中包含功能: 一键启动当前目录所有jar包 一键停止当前目录jar包 一键查看当前目录所有jar包的进程数 一键重启当前目录jar包 执行命令为: 查看进程:sh java_check.sh process 启动:sh java_check.sh ...
linux下jar包启动脚本,实测可用,只需修改你的环境变量和应用名称
>Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径...>Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey;
主要给大家介绍了关于Linux如何利用Shell脚本部署jar包项目的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法
脚本上有备注,将java项目打为jar包后,替换jar的包名为项目包名即可,log文件会自动生成,方便好用。
Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
在开发过程中经常会员到在Linux环境中使用Shell脚本启动和停止java程序的情况,常用的java -jar命令只能运行jar文件,有很多不方便的地方,一旦代码修改就需要重新编辑打包,其实还有很多其他的方式,这个资源中包含...
主要介绍了IDEA中编写并运行shell脚本的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧