linux命令-后台运行

要使命令再后台一直运行的话 需要用到 nohup命令

 nohup会不挂断的运行,但不是后台运行  需要使用 & 才能永久再后台运行

nohup会将运行日志写入到nohup.out文件中,但是我并不想让他写入这个文件中,所以可以指定文件

将日志写入ass.log如:

nohup node internalTask.js > ass.log &

操作系统中有三个常用的流:
  0:标准输入流 stdin
  1:标准输出流 stdout
  2:标准错误流 stderr

一般用> ass.log 实际是1 > ass.log 的省略用法 ;   < ass.log 。实际是 0<ass.log 的省略用法

用法:

nohup node internalTask.js > ass.log  2>&1 &

2>&1的意思 

把标准错误流(2)重定向到标准输出流(1) ,而1是输出到ass.log文件中 所以是1 +2 都导入到ass.log中 ;至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有。这就会导致 >output 2>output 文件output被两次打开,而stdout和stderr将会竞争覆盖,这肯定不是我门想要的. 

& :在后台运行

 参考:https://www.cnblogs.com/jinxiao-pu/p/9131057.html

            https://www.cnblogs.com/keystone/p/11159665.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章