【前言】
一般正常启动一个Jar包程序,除了需要安装运行环境JDK外,还要使用指令来执行。
我们以前在开始学习Java的时候,大家应该都知道是用 java -jar xxx.jar 来启动Jar包程序。
【Jar包启动方式】
(1)正常启动Jar包:
java -jar xxx.jar
这条指令虽然可以启动Jar包项目,但是随着终端命令界面的关闭,则项目的进程也将被终止。
我们一个项目既然放在了服务器上,肯定是需要24小时能够访问的。当然,你的终端也不会一直24小时的开着。
那怎么办呢?你可以使用下面这条命令来启动你的Jar程序,这样就算是终端被关闭,你的项目也不会被终止,除非服务器宕机。
(2)启动Jar包,并且能够在后台一直运行:
nohup java -jar xxx.jar &
上面这条启动命令中,有一个nohup指令,尾巴还有一个&,这俩到底是什么意思呢?
这是前两日一个朋友问到了我这个问题,作为经常在使用的命令却不知道具体含义,着实难免有点尴尬,经过昨天查阅了相关资料,今儿自己总结如下,若有不对之处,还希望各路大神指正。
【nohup指令】
(1)下面是由百度百科提供的定义:具体查看点这里
nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。
(2)看到上面这个解释确实比较书面。
(2.1)nohup 其实就是 no hang up(不挂断) 的缩写。
(2.2)nohup执行作业后,用户根目录下会有一个 nohup.out 的文件来存放相关作业的输出(即项目报错与日志)。
比如我的个人网站启动后,就有这个文件。
(3)nohup 和 & 的区别
nohup
&
所以我们在项目上线,为了确保项目运行不受操作影响,需要同时免疫两个信号的干扰,即nohup和&同时使用。
,项目上线启动命令为:
参考资料:
(1)百度百科:nohup
(2)一分钟了解nohup和&的功效