呵呵呵,想起了一个以前写的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
在本场景中,我们有两个文件——`startup.sh`和`shutdown.sh`,它们是用于启动和停止Spring Boot应用的Shell脚本,其中还涉及到内存配置。 首先,让我们深入理解`startup.sh`脚本。这个脚本的主要目标是启动一个...
支持批量启动jar,停止jar,重启jar,同时也支持单个jar的启动,停止,重启. ./service.sh start all ./service.sh start homesaty
在Linux环境下,管理Java应用程序的运行状态,如启动和停止jar包,通过shell脚本实现自动化操作,是常见的需求。本文将深入解析如何利用shell脚本来控制Java应用程序的启动和停止,基于提供的“startTest.sh”和...
前言:打包好的springboot项目,可以使用java -jar xxx.jar的方式启动。当出现多个springboot项目需要启动的时候,可以使用脚本启动的方式。这在springcloud项目的开发测试阶段尤为有用。以下展示启动脚本示例,过程...
部署springboot 项目时,替换包后的停止、启动、重启及状态查看,操作比较琐碎,因此我们可以通过编写一个shell脚本来进行启动(start)、停止(stop)、重启(restart)和状态查看(status)操作,一步到位,方便高效
- 编写shell脚本以控制应用程序的生命周期,如启动、停止、查看状态等。 - 如果是Web应用,将WAR文件部署到Tomcat的webapps目录下,或者通过`tomcat.sh`脚本进行部署。 - 使用`service.sh`将应用注册为系统服务,...
shell启动jar程序的脚本,可以根据传入的参数"start"、"stop"、"restart"启动当前目录下的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包是Java程序的打包形式,便于分发和执行。在实际工作中,Shell脚本常用来自动化处理与jar包相关的任务...
IDEA中编写并运行shell脚本的实现是指在Integrated Development Environment(IDE)中编写、配置和运行shell脚本的过程。该过程需要安装bashsupport插件,配置插件,安装git软件,配置IDEA环境,创建Bash Script文件...
本文将详细介绍如何使用Shell脚本来启动和停止Java服务,适用于包括SpringBoot在内的各种Java应用程序。 首先,让我们理解什么是Shell脚本。Shell脚本是Linux或Unix操作系统中的批处理程序,由一系列命令组成,可以...
总的来说,shell脚本启动Java程序提供了极大的灵活性和可扩展性,允许我们轻松地集成其他功能,如自动部署、监控、性能调整等。这使得shell脚本成为自动化Java应用运维的重要工具。通过熟练掌握这些技能,开发者可以...
在Linux系统,特别是CentOS这样的基于Red Hat的发行版中,使用shell脚本来启动和管理Java应用程序(如jar包)是一种常见的做法。本文件包提供了一个名为`run.sh`的shell脚本模板以及一个`run命令详解.docx`文档,...
这通常涉及到编写一个bash shell脚本,该脚本可以依次执行Java命令来运行、停止或重启多个.jar文件。例如,`gollum.sh`可能是这样一个脚本,它会按照特定的顺序执行这些操作。 在`gollum.sh`脚本中,我们可能看到...
此shell脚本中包含功能: 一键启动当前目录所有jar包 一键停止当前目录jar包 一键查看当前目录所有jar包的进程数 一键重启当前目录jar包 执行命令为: 查看进程:sh java_check.sh process 启动:sh java_check.sh ...
在Linux环境中,管理和部署SpringBoot应用通常涉及到自动化脚本,特别是使用Shell脚本来启动和停止应用程序。本主题将深入探讨如何编写这样的脚本,以便高效地处理SpringBoot的jar程序。 首先,理解SpringBoot的...
linux下jar包启动脚本,实测可用,只需修改你的环境变量和应用名称
>Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径...>Monkey.jar程序是由一个名为“monkey”的Shell脚本来启动执行,shell脚本在Android文件系统中 的存放路径是:/system/bin/monkey;
这个资源是一对功能强大的Shell脚本,专为简化在Linux环境下的项目部署与日志查看而设计。首先,用户只需修改脚本中的Jar...这些Shell脚本的使用将为您的项目管理带来极大的便利和效率提升,让您专注于项目开发和优化。