Exécuter des programmes en arrière-plan et de rediriger leurs sorties de fichier en temps réel

Je veux exécuter plusieurs scripts python simultanément dans un bash de session et à l'inspection de leurs sorties respectivement en temps réel. Pour s'acquitter de cette tâche, j'ai écrit un simple script bash qui est indiqué ci-dessous:

#!/bin/bash
python 1.py > 1.output &
python 2.py > 2.output &
python 3.py > 3.output &

Lorsque j'utilise cat 1.output de commande pour vérifier ce qui a été imprimé dans le milieu de l'exécution, cependant, rien ne peut être vu.

Après réflexion, je me rends compte que la 1.output doit être rempli lors de la 1.py termine son exécution. En d'autres termes, la méthode que j'ai utilisée ici n'est pas un real time de la mode.

Vous pouvez vous propse que d'attendre que ces scripts python' terminer. Le fait, malheureusement, c'est qu'il y a des scripts python sont en fait de longue exécuter des programmes, ils ont peut-être fini après des jours ou des mois, et c'est pourquoi je tiens à inspecter leurs sorties en temps réel.

Aussi, vous pouvez me suggérer de modifier les scripts python pour imprimer le message de déposer directement au lieu de stdout. Désolé, les scripts sont ici trop complexe à modifier, il y a des mandrins de print fonction dans les.

que puis-je faire maintenant?

avoir les scripts python rincer leur sortie périodiquement...
Poste le code que vous utilisez pour cette journalisation de l'action s'il vous plaît.

OriginalL'auteur Douglas Su | 2015-07-10