Java在linux使用.sh启动程序

一、以命令方式启动jar包

1、方式一

java -jar XXX.jar

特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

2、方式二

// 那如何让窗口不锁定?
java -jar XXX.jar &
// &代表在后台运行

特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出。

3、方式三

// 继续改进,如何让窗口关闭时,程序仍然运行?
nohup java -jar XXX.jar & 
// nohup 是linux一个命令,意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 

特点:当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件

4、方式四

nohup java -jar XXX.jar >temp.txt &
// 解释下 >temp.txt 
// command >out.file 
// command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

总结:我们都知道,启动java的java文件会打印一些启动日志以及任务运行文件日志信息,当我们以第三种方式启动java项目时,会自动在该目录下生成一个新的nohup文件。

在这里插入图片描述

该文件中存放的就是该项目的启动日志以及运行日志,通过在控制台命令tail -f nohup.out可以进行检测日志信息。

在这里插入图片描述

如果我们以第四种方式启动java项目,将日志新存放到特定文件夹中,这样会日志就不能通过tail -f nohup.out监测。

二、以脚本方式启动jar包

1、启动脚本

// 新建一个start.sh文件
vim start.sh
 
// 填写如下脚本信息,修改如下xxx信息即可
#!/bin/bash
nohup java -jar xxx.jar --server.port=xxxx &
 
// 启动命令
./start.sh

2、停止脚本

**2、停止脚本**

// 新建stop.sh文件
vim stop.sh
 
// 插入如下命令
#!/bin/bash
PID=$(ps -ef | grep xxx.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
    echo Application is already stopped
else
    echo kill $PID
    kill $PID
fi
 
// 启动停止脚本
./stop.sh

3、重启脚本

// 新建一个run.sh文件
vim run.sh
 
// 添加如下命令
#!/bin/bash
echo stop application
source stop.sh
echo start application
source start.sh
 
// 开启重启脚本
./run

4、./start或./stop或./run启动报错
报错信息:-bash: ./startup.sh: Permission denied

问题介绍:这是因为用户没有权限,而导致无法执行。

chmod  700  xx.sh   #授权命令
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值