web-dev-qa-db-fra.com

Comment puis-je voir la console de sortie après avoir exécuté une commande Nohup?

J'ai un code fonctionnant sur un serveur Linux. Comme cela prend des heures à s'exécuter, je dois utiliser Nohup pour m'assurer que mon code fonctionne toujours au cas où je perdrais ma connexion au serveur. Comme je dois encore attendre des heures pour voir les résultats, j'ai défini un compteur pour imprimer la progression de mon code (%). Si je perds ma connexion au serveur ou ferme le terminal, la seule façon de voir que le code est toujours en cours d'exécution est d'utiliser top. Existe-t-il un moyen de voir à nouveau la console de sortie (message indiquant la progression)?

15
MTT

Vous pouvez rediriger la sortie standard et l'erreur standard vers un fichier et consulter ce fichier. par exemple:

Nohup command 2>&1 > outputfile &

notez le comportement par défaut de la page de manuel:

Si la sortie standard est un terminal, ajoutez la sortie à 'Nohup.out' si possible, '$ HOME/Nohup.out' sinon. Si l'erreur standard est un terminal, redirigez-le vers la sortie standard

donc vraiment vous pouvez simplement courir

Nohup command &

puis regardez dans Nohup.out

12
Mike Atkins

Vous pouvez voir la sortie en temps réel en exécutant ci-dessous à partir d'un autre terminal.

tail -f Nohup.out
34
yfpb