8 votes

Bash : Mettre un travail en arrière-plan et ensuite suivre le journal.

Comment faire en sorte que l'échappement fonctionne de manière à ce que le fichier & exécute en fait la première commande en arrière-plan ?

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

16voto

katriel Points 4399

Laisse tomber le point-virgule :

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

1voto

Anatidaus Points 2549

Tu dois mettre la commande en arrière-plan dans des ().

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

Malheureusement, c'est vraiment le fond du problème. Vous ne pourrez pas utiliser %1 pour accéder à son PID.

0voto

Maerlyn Points 1353

Vous pourriez utiliser nohup :

nohup cmd & 

tail -f nohup.out

0voto

Steve Bennett Points 5299

Je viens également de me heurter à cette question et je l'ai résolue de cette façon :

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

Je ne sais pas si la sémantique est différente.

Pour ce cas spécifique, ce qui suit est également utile :

foo param1 param2 | tee -a run.out

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X