centos7中,后台运行jar包达到守护进程的目的。

在一般情况下,我们在服务器通过 java -jar xxx.jar 来运行一个jar包。
但是如果我们退出了控制台,那么这个程序就将被关闭。
那么,如何实现让jar包后台运行呢?

这里有三种方式
第一种方式:

java -jar xx.jar &

第二种方式:

nohup java -jar xx.jar &

第三种方式(推荐):

# 1.先正常运行Jar包。
[root@abc906093117 ~]# java -Dfile.encoding=utf-8 -jar huobi-client.jar 
16:49:19,993 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
16:49:19,993 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
请输入目标价格
3300
目标价格为3300
已经开始监控。。。。

# 2.ctrl+z 退出当前java程序dos窗口到控制台。然后可以输入'bg'来再次进入java程序的dos窗口
[root@abc906093117 ~]# bg
[1]+ java -Dfile.encoding=utf-8 -jar huobi-client.jar &
当前价格:3027.26
当前价格:3026.66

# 3.输入'exit'来退出服务器。此时Java程序就能一直在后台运行了。
[root@abc906093117 ~]# exit
logout
Connection closing...Socket close.
Connection closed by foreign host.


# 4.登陆服务器,输入‘ps -ef|grep java’来查看所有运行中的java程序。
#   可以看到刚才启动的程序一直在运行。
[root@abc906093117 ~]# ps -ef|grep java
root     30232     1  2 17:49 ?        00:00:01 java -Dfile.encoding=utf-8 -jar huobi-client.jar
root     30271 30250  0 17:50 pts/0    00:00:00 grep --color=auto java

为什么推荐第三种方式呢?因为前两种方式都是直接后台运行jar包,并没有进入到java的dos窗口。
但假如,我们的java程序需要我们进入到它的dos窗口,输入一些参数来运行的话,前两种是不可取的。而第三种的话,则可以在运行jar包后进入java的dos窗口来输入一些程序需要的参数,随后退出dos窗口让其在后台运行。

参考:https://www.cnblogs.com/miamianfighting/p/14208015.html

猜你喜欢

转载自blog.csdn.net/chinatopno1/article/details/120407161