Bash: Stellen Sie einen Job in den Hintergrund und beenden Sie das Protokoll


Antworten:


16

Lassen Sie einfach das Semikolon fallen:

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

6
Es hilft, sich das kaufmännische Und als eine Variante des Semikolons vorzustellen, das es wirklich ist.
Teddy

1

Sie müssen den Hintergrundbefehl in () eingeben.

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

Leider ist dies wirklich ein Hintergrund. Sie können% 1 nicht an die PID senden.


0

Sie könnten nohup verwenden:

nohup cmd & 

tail -f nohup.out

0

Ich bin auch auf diese Frage gestoßen und habe sie folgendermaßen gelöst:

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

Ich weiß nicht, ob die Semantik anders ist.

Für diesen speziellen Fall ist auch Folgendes nützlich:

foo param1 param2 | tee -a run.out
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.