nohup简介:

nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

nohup 是 no hang up 的缩写,就是不挂断的意思。

nohup使用:

这里就以运行Jar文件为例

方式一:

java -jar XXX.jar

可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

方式二:

java -jar XXX.jar &

当窗口关闭时,程序中止运行

方式三:

nohup java -jar XXX.jar &

不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
注意:
当用 nohup 命令执行时,缺省情况下所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

输出日志到指定文件:

nohup java -jar XXX.jar >XXX.out &

将输入的日志信息到 XXX.out里面

jobs:

查看后台运行任务

后台启动并且不输出日志文件

如果你的项目不经常重启,一般就不需要打印日志,储存没用的日志会非常占用空间。

nohup java -jar XXX.war >/dev/null 2>&1 &

操作系统中有三个常用的流:

0:标准输入流 stdin
1:标准输出流 stdout
2 :标准错误流 stderr

‘>/dev/null’ 意思是不输出信息

‘>2>&1’ 意思是将错误信息和标准信息使用同一个文件

如果需要错误信息,可以将命令改为:

nohup java -jar XXX.war >/dev/null error.out &

查看日志

tail -f XXX.out