Spring Boot Jar文件由终端使用nohup启动

时间:2017-04-24 22:12:32

标签: java linux spring

Spring有this文档来运行可执行的spring boot jar。

但是,我使用 nohup linux命令从终端运行此jar,并且工作正常。

问题是:使用nohup或使用init.d服务,应用程序的结果是否相同?或者始终使用init.d是正确的方法吗?

2 个答案:

答案 0 :(得分:2)

他们做不同的事情。 nohup运行命令,忽略HANGUP(HUP)信号。 init.d用于在服务器启动时自动运行命令(并在关闭时按顺序关闭命令)。如果您希望弹出启动应用程序在系统重新启动后自动运行,请将其放入init.d - 如果您想在每次重启后手动启动它,可以使用nohup

答案 1 :(得分:1)

nohup以一种不受挂断影响的方式运行命令,这可能会导致问题。许多程序设计用于在接收HUP信号时重新读取其配置文件,重新启动或执行其他操作(大多数服务/守护程序重新启动或重新读取配置)。除非您特别想忽略HUP信号,否则使用nohup不是最佳解决方案。

您可以在命令后使用&以便在后台运行它,如果您想避免输出到终端,您可以将输出发送到/ dev / null:

mycommand > /dev/null 2>&1 &

2>&1会将stderr发送到stdout,因此它会转到/ dev / null。