java -jar XXX.jar
表示在当前ssh窗口,可按CTRL + C打断程序运行,或者直接关闭窗口,则程序直接退出
java -jar XXX.jar &
命令结尾添加 “&” ,表示在当窗口关闭(断开SSH连接)时,程序才会中止运行。&代表让该命令在后台执行。
nohup java -jar XXX.jar &
表示不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。注意,该作业的所有输出被重定向到nohup.out的文件中。
nohup java -jar XXX.jar > Log.log &
表示不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,并且该作业的所有输出被重定向到Log.log的文件中。“ > Log.log ” 该命令就是指定日志输出的文件。
nohup java -jar XXX.jar > /dev/null 2>&1 &
屏蔽输出,起到禁止输出作用:/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。但是 /dev/null 文件非常有用,将命令的输出重定向到它,会起到"禁止输出"的效果。
一般我们将jar包作为服务运行在后台中可以使用上面的命令
如果一次启动多个jar包,还可以编写shell脚本,用shell脚本的方式启动jar包,创建一个startup.sh的文件,编辑:
#!/bin/sh
nohup java -jar xxx.jar > /dev/null 2>&1 &
nohup java -jar xxx.jar > /dev/null 2>&1 &
执行命令赋予权限
chmod +x startup.sh
执行命令启动jar包
./startup.sh
本文参考:https://blog.csdn.net/wngpenghao/article/details/83022185