使用场景
需要后台运行某些程序, 即关闭shell窗口, 运行不间断.
命令
nohup:no hang up,中文可以译作不挂起.使用nohup可以在后台运行项目。
命令格式
nohup cmd
[arg
] [&]
& : 让命令在后台执行cmd 要执行的命令arg 参数, 如日志记录
常用方式
后台执行并记录日志(覆盖)
nohup ls > run.log 2
&>1
&
2>&1 是什么?
将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 run.log 文件中。总之, 日志会被输入到run.log中。
0 – stdin (standard input,标准输入)
1 – stdout (standard output,标准输出)
2 – stderr (standard error,标准错误输出)
ls 2
> err.log
后台执行并记录日志(追加)
nohup ls >> run.log 2
&>1
&
> 表示覆盖写入
>> 表示追加写入
后台执行不记录日志
nohup ls > /dev/null 2
>&1
&
/dev/null 是一个黑洞,通常用于丢弃不需要的数据输出, 或者用于输入流的空文件
后台执行并按日期记录日志
nohup ls > run_
`date +%Y-%m-%d`.log 2
>&1
&