Linux中的nohup命令
在Linux中,nohup
是不挂断运行命令的意思。当账户退出或终端关闭时,程序仍然运行
使用nohup
命令执行作业时,该作业的所有输出将被缺省地重定向到nohup.out
文件中,除非另外指定了输出文件
1) 缺省地输出日志到nuhub.out
# 默认输出到nuhub.out
nohup java -jar function.jar &
2) 指定输出日志到文件
# 指定输出文件deploy.log
nohup java -jar function.jar > deploy.log &
3) 仅后台启动不输出日志
nohup java -jar function.jar >/dev/null 2>&1 &
其中,&
表示在后台运行;2>&1
表示将错误输出2重定向到标准输出1;>/dev/null
表示将标准输出1全部保存到/dev/null
文件中(即清空、抛弃)
nohup
与&
的区别如下:
- nohup:不挂断运行,并没有后台运行的功能,使用
nohup
运行命令可以使命令永久的执行下去,和用户终端无关,例如,断开SSH连接 - &:该符号表示将命令或脚本放到后台运行,即
&
方式启动会有进程号,使用Ctrl+C
程序不会中断,但终端关闭后运行会中断