如何让一个程序在后台运行
使用:
nohup <command> >/dev/null 2>&1 &
总体解释:
command > out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。
最后一个& , 是让该命令在后台执行。
细节解释:
一般形式:
nohup command &
(不过此种情况下,所有的控制台输出默认都会被保存到nohup.out文件中,因此经常造成此文件巨大无比)
最经典的搭配:
nohup <command> >/dev/null 2>&1 &
nohup命令(不挂起):
退出帐户/关闭终端之后继续运行相应的进程
<command>:
需要运行的命令
>:
输出重定向
/dev/null:
表示一个黑洞(垃圾桶),通常用于丢弃不需要的数据输出
2>&1:
将标准出错重定向到标准输出
&:
让该命令在后台执行
tips:
2>1:2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;
2>&1:&与1结合就代表标准输出了,就变成错误重定向到标准输出。
- 0 :表示stdin标准输入
- 1 :表示stdout标准输出
- 2 :表示stderr标准错误
- & :表示等同于的意思