璐璐 发表于 2019-9-26 16:47:38

在 Linux 系统下如何自动启动 jar 包



第一步:书写启动脚本, 具体脚本内容如下:#启动命令所在目录
HOME='/home/tomcat/ForTest'
#获取当前 服务器的 mac 地址 地址(唯一的)
mac=`ifconfig | grep eth0 | awk '{print $5}'`
start(){
#进入命令所在目录
cd $HOME
#启动指定的 jar包且将日志输出进行重定向 打印到 msghai.log 文件中去
nohup java -jar dubbo-for-http-0.0.1-SNAPSHOT.jar >msghai.log 2>&1 &

}
stop(){
# kill 掉所有java程序
ps -ef | grep java | grep -v grep |awk '{print $2}' | xargs kill -9
}
#linux脚本 中的 循环判断如果 后面跟 start就是启动服务   
#如果 后面跟着 stop就是停止服务如果后面 跟着 restart 就是 重启服务;
#使用的时候 下面 这些书写 可以不做任何修改 直接套用即可;
case $1 in
start)
   start
;;
stop)
   stop
;;
restart)
   $0 stop
   sleep 2
   $0 start
;;
*)
   echo "Usage: {start|stop|restart}"
;;
esac
exit 0
复制代码以上的代码含义可以仔细阅读下注释信息;以上脚本为固定形式,如果当前用户无此权限,就在需要操作的命令前加上 sodu命令; 例如:你想要 kill 掉进程,此时你的用户没有 kill 权限,就写 sudokill; 第二步:将脚本放置在linux服务器上的指定位置 当然:如果你可以直连 sftp就直接连 上传即可; 如果没有 sftp 权限,就使用mkdir 创建文件,然后通过vi 进行编辑; 第三步:直接将Windows 下编辑的 .sh文件上传 linux 服务器后因为空格等特殊字符转义不同,会报以下错误: syntax error near unexpected token `
此时需要我们执行:sed 's/\r//' do1.sh >do.sh

将 windows下系统中的转义符转义成 Linux 系统下的转义符号;
第四步:执行 chmod 777 do.sh 将 .sh 文件转换成可执行的脚本;
第五步:此后我们想使用此脚本的时候:启动 jar服务:./do.sh start
停止 jar 服务:./do.sh stop
重启 jar 服务:./do.sh restart
{\r''
此时需要我们执行:sed 's/\r//' do1.sh >do.sh

将 windows下系统中的转义符转义成 Linux 系统下的转义符号;
第四步:执行 chmod 777 do.sh 将 .sh 文件转换成可执行的脚本;
第五步:此后我们想使用此脚本的时候:启动 jar服务:./do.sh start
停止 jar 服务:./do.sh stop
重启 jar 服务:./do.sh restart
页: [1]
查看完整版本: 在 Linux 系统下如何自动启动 jar 包