【问题标题】:Why nohup outputs process id?为什么 nohup 输出进程 ID?
【发布时间】:2018-01-29 23:11:41
【问题描述】:

当我在终端中运行命令 nohup sh script.sh & 时,我有以下输出: [1] 42603 appending output to nohup.out。其中 42603 是此命令的进程 ID,但我不想看到它。我能做什么?

附:我正在运行 OSX Capitan,版本 10.11.6

【问题讨论】:

  • 闭上眼睛。

标签: linux macos unix terminal


【解决方案1】:

您可以在子shell 中运行nohup 并将子shell 的输出重定向到/dev/null,如下所示:(nohup sh script.sh &) >/dev/null(请注意,这也会隐藏来自sh script.sh 的任何输出)

【讨论】:

    【解决方案2】:

    这样的事情会使那一行静音并保持 script.sh 连接到标准输出

    nohup sh script.sh & | grep -v nohup.out

    如果它把那个东西输出到stderr,你需要重定向到stdout

    nohup sh script.sh 2>&1 & | grep -v nohup.out可能这里的顺序不对,我的shell脚本语法通常是错误的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-31
      • 2013-06-27
      • 2018-08-20
      • 2017-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-18
      相关资源
      最近更新 更多