适合以下两种情景:
情景一:我们写好一个简单的java程序(非Web项目),想在服务器后端运行,即使服务器断开连接,也在运行。
情景二:我们需要把SpringBoot项目(Jar包形式)部署到服务器上。
首先,不论哪种情景,我们都需要在本地,把一个成功运行的代码/项目打成Jar包。(我习惯本地 Java -jar 成功后再发布)
第一步:把Jar包放到你满意的路径下(我这里放到/home下了)
第二步:我们需要创建一个sh脚本文件,并赋予它可执行的权限(命令行分别执行下面两个命令)(代码前的 # 不需要输入!代表命令行输入的东西)
#touch /home/starttest.sh
#chmod +x /home/starttest.sh
其中
touch :
touch [文件或目录…]
chmod:
chmod +x 是给这个文件赋予执行的权限
第三步:编辑刚刚创建的.sh脚本
#vi /home/starttest.sh
输入以下内容(开始编辑 按 “i” ,编辑完 按 “Esc” 然后 输入 ":wq")
#!/bin/sh
nohup java -jar /home/csdn.jar &
nohup : 不挂断的运行,注意并没有后台运行的功能
& : 指在后台运行
第四步:运行脚本
#sh starttest.sh
注意!Ctrl+C退出
我们用 ps -ef | grep java 看下,代码是不是已经运行在后台了。OK~
至此,你的java程序/Springboot项目,即使在终端断开远程连接的情况下也可以运行在你服务器的后台了
BUT!在第三步的时候,目录下生成的nohup.out文件会随着项目运行,不断增大对内存的占用!