在CentOS中使用nohup
命令可以在后台运行Java应用程序,即使关闭终端或断开SSH连接,应用程序也会继续运行。以下是详细步骤:
-
编写启动脚本: 首先,你需要一个启动脚本来运行你的Java应用程序。假设你的Java应用程序的JAR文件名为
myapp.jar
,并且你有一个启动脚本start.sh
。#!/bin/bash java -jar /path/to/myapp.jar
确保脚本有执行权限:
chmod +x start.sh
-
使用
nohup
运行脚本: 使用nohup
命令来运行你的启动脚本,并将输出重定向到一个日志文件中。nohup ./start.sh > myapp.log 2>&1 &
解释:
nohup
:忽略挂起信号,确保进程在关闭终端后继续运行。./start.sh
:运行你的启动脚本。> myapp.log
:将标准输出重定向到myapp.log
文件。2>&1
:将标准错误输出重定向到标准输出,这样所有的日志都会写入同一个文件。&
:将命令放入后台运行。
-
查看日志: 你可以随时查看日志文件以监控应用程序的输出:
tail -f myapp.log
-
停止进程: 如果你需要停止这个后台运行的Java应用程序,可以使用
ps
命令找到进程ID(PID),然后使用kill
命令终止它。ps aux | grep myapp.jar
找到对应的PID后,使用
kill
命令终止进程:kill -9
或者你可以直接杀死整个Java进程组:
pkill -f myapp.jar
通过以上步骤,你可以在CentOS中使用nohup
命令在后台运行Java应用程序,并确保它在关闭终端或断开SSH连接后仍然继续运行。