Bash:把工作放在后台,然后把日志放在尾部

你如何做出逃避的工作,使&实际上在后台运行第一个命令?

 # foo param1 param2 >> run.out &; tail -f run.out 

    只要放下分号:

     # foo param1 param2 >> run.out & tail -f run.out 

    你可以使用nohup:

     nohup cmd & tail -f nohup.out 

    你需要把后面的命令放在()中。

     (ls -R / >>/tmp/list & ); tail -f /tmp/list 

    可悲的是,这真的是背景。 您将无法通过%1来获得其PID。

    我也碰到了这个问题,并且这样解决了这个问题:

     `foo param1 param2 >> run.out &` ; tail -f run.out 

    我不知道语义是否不同。

    对于这个具体情况,以下内容也是有用的:

     foo param1 param2 | tee -a run.out