【问题标题】:how to redirect the '&' command's log?如何重定向'&'命令的日志?
【发布时间】:2012-07-09 16:50:54
【问题描述】:

命令如下:

 # ls >log 2>&1 &
 [1] 24274

现在我希望这一行 [1] 24274 重定向另一个文件。有什么想法吗?

【问题讨论】:

标签: bash jobs


【解决方案1】:

Use $!:

ls >log 2>&1 &
echo ls: pid=$!

【讨论】:

    【解决方案2】:

    除非您尝试获取作业编号,否则最简单的方法是使用 $!,它将为您提供最近后台作业的 PID。例如:

    $ sleep 30 & bg_pid=$!; echo $bg_pid
    [2] 10100
    10100
    

    如果你真的想从存储的 PID 中取回作业编号,也许是使用 Bash 的作业控制而不是使用 kill 向进程发送信号,你可以这样做:

    jobs -l | fgrep $! | perl -ne 'print "$1\n" if /\[(\d+)\]/'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-10
      • 2010-09-18
      • 2020-10-14
      • 2014-11-24
      • 2017-01-07
      • 2019-02-20
      • 2021-07-11
      • 1970-01-01
      相关资源
      最近更新 更多