如何让一个程序在后台运行

使用:

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标准错误
  • & :表示等同于的意思

 

 

posted @ 2022-06-23 16:00  yangrourou  阅读(293)  评论(0编辑  收藏  举报