shell 命令之nohup、>/dev/null 2>&1
1 nohup Command [ Arg ... ] [ & ]
nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。
1 >/dev/null 2>&1
- > 代表重定向到哪里
- /dev/null 代表空设备文件
- 2> 表示stderr标准错误
- & 表示等同于的意思,2>&1,表示2的输出重定向等同于1
- 1 表示stdout标准输出,系统默认值是1
所以连在一个就有两层意思
1. 首先标准输出,重定向到空的设备文件。
2.标准错误重定向到标准输出,因为输出重定向到空的设备文件,故标准错误也是输出到这里。
当然一般程序执行shell命名会将信息输出到日志中,是不带/dev/null .