背景
在日常开发工作中,经常会遇到一种场景。
我们希望自己写的程序在后台运行,又希望它足够优雅。
比如说,程序的日志已经打得足够完整了,我们不希望程序在控制台中输出任何东西,影响我们的交互体验。
举栗🌰
这边讲一个真实的例子,当我需要部署运行一个jar程序时
原来我执行的是
java -jar hello.jar
现在我们一步步深入
首先,我希望它在后台运行,那我只需要在命令的最后面添加一个 & 符号
java -jar hello.jar &
需要注意的是,此种方式的后台运行在session被关闭的时候会一起关闭程序
那如果我们希望,在我们关闭session后,程序仍然运行着,该如何呢?
nohup java -jar hello.jar &
其实只需要在命令最前面加一个 nohup 命令,并且,nohup命令会使得程序的输出重定向至当前目录的 nohup.out 文件
刚刚上面提到,我们的java程序日志打印完整,所以我不希望它输出信息到控制台
nohup java -jar hello.jar > /dev/null &
如上添加 > /dev/null 即可把标准输出重定向至 /dev/null
<