ubuntu18 让java应用能够在关闭终端后运行
让java应用能够在关闭终端后运行
参考博文:阿里云发布Java web项目,linux让程序永久运行,关闭终端后也后台运行
一般如果直接使用 java -jar XXX.jar 命令的话,在终端窗口关闭后,那么运行的jar包也自行stop了,那么如果再访问服务,那当然是不行的。
所以这里使用命令
nohup command > myout.file 2>&1 &
"在上面的例子中,
0 – stdin (standard input),
1 – stdout (standard output),
2 – stderr (standard error) ;
2>&1是将标准错误[2]重定向到标准输出[&1],标准输出[&1]再被重定向输入到myout.file文件中。最后再加上一个&表示后台运行。" ----《阿里云发布Java web项目,linux让程序永久运行,关闭终端后也后台运行》
如果只是简单的运行一个jar包,那么直接使用命令
nohup java -jar XXX.jar &
运行时并不会直接在终端上打印运行日志,而是只会返回一小段字符串,运行时的日志都被保留在了nohup.out文件中
所以这时候需要去读取nohup.out来查看日志,这里可以使用
tail -f nohup.out
执行后当前终端会自动追踪nohup.out文件的日志记录,当文件被删除/手动退出后,追踪便会停止。
Tip:在ubuntu17以前的版本,tail -f XXX命令为 tailf命令,效果等同。