通过nohup命令后台运行jar包
问题描述开发个人博客时,将springboot打成jar包放到linux服务器上运行,远程连接运行java -jar xxx.jar命令可以正常启动后端,但是关闭ssh后程序自动关闭。百度后发现java -jar命令会随ssh窗口关闭而结束,此时需要nohup命令使java -jar在后台运行。解决方案nohup 即no hung up,指程序不被挂起,当ssh窗口关闭后程序会继续运行,但不能在控
问题描述
开发个人博客时,将springboot打成jar包放到linux服务器上运行,远程连接运行java -jar xxx.jar命令可以正常启动后端,但是关闭ssh后程序自动关闭。百度后发现java -jar命令会随ssh窗口关闭而结束,此时需要nohup命令使java -jar在后台运行。
解决方案
nohup 即no hung up,指程序不被挂起,当ssh窗口关闭后程序会继续运行,但不能在控制台输出数据。
语法:
nohup Command [ Arg … ] [ & ]
示例:nohup java -jar demo.jar >demo.log 2>&1 &
nohup 表示程序不被挂起
java -jar 表示运行jar包,这里也可以执行其他命令,比如python xxx.py
demo.jar 表示要运行的jar包
>demo.log 表示将控制台输出数据重定向到demo.log,不写的话默认输出到nohup.log
2>&1 表示将标准错误输出转变化标准输出,可以将错误信息也输出到日志文件中(0-> stdin, 1->stdout, 2->stderr)
& 表示在后台运行程序
如何结束进程
ps -aux|grep java
: 查看所有运行的java程序
其中1643就是后台程序的ID
kill -9 1643
: 结束ID为1643的程序
没有输出任何信息则说明顺利关闭了程序
更多推荐
所有评论(0)