nohup后台启动

Friday, October 19, 2018

示例

nohup ./startserver.sh >output 2>&1 & nohup 是不挂断的运行命令.
语法:nohup Command [ Arg … ] [ & ]
描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

操作系统中有三个常用的流 :
0 : 标准输入流stdin
1 : 标准输出流stdout
2 : 标准错误流stderr
一般当我们用 > console.txt实际上是 1 > console.txt的省略用法; < console.txt0 < console.txt的省略用法.

解释

nohup ./startserver.sh >output 2>&1 &

  1. 带 & 的命令行,意思是当terminal(终端)关闭之后 , 程序依然运行.
  2. 2>&1 意思是,把标准错误2重定向到标准输出1中,而标准输出又导入文件output中,所以结果是标准错误和标准输出都导入文件output中.至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有.这就会导致 >output 2> output,文件output被两次打开,而stdout和stderr将会竞争覆盖.
    一般很大的stdout和stderr当不关心的时候可以写成 : nohup ./startserver.sh > /dev/null 2>&1
LinuxShell

find文件无所遁形

Goaccess分析日志

comments powered by Disqus