要使命令再后台一直运行的话 需要用到 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将会竞争覆盖,这肯定不是我门想要的.
& :在后台运行