J'utilise fréquemment le programme Nohup
pour que mes processus soient à l'abri des blocages. Donc, si je veux rendre le programme program
immunisé contre les blocages, j'utilise la commande
Nohup program &
où &
met le processus en arrière-plan.
Au démarrage, Nohup
me donne le message:
Nohup: ajout d'une sortie à `Nohup.out '
Existe-t-il un moyen d'envoyer la sortie vers un fichier autre que Nohup.out
? Souvent, je veux exécuter de nombreux processus dans le même répertoire en utilisant Nohup
, mais si je le fais, toute la sortie est regroupée dans un seul Nohup.out
fichier.
La page de manuel (par exemple, ici ) ne semble pas avoir d'option pour spécifier le fichier journal. Pouvez-vous confirmer cela? De plus, avez-vous une idée de la façon dont je peux contourner ce problème?
La page de manuel GNU coreutils Nohup
indique que vous pouvez utiliser la redirection normale:
Si l'entrée standard est un terminal, redirigez-le depuis/dev/null. 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. Pour enregistrer la sortie dans FILE, utilisez 'Nohup COMMAND> FILE'.
Edit: je n'ai pas lu votre lien au début; vous pouvez avoir une version différente de Nohup
, bien que cette section suggère que vous pouvez toujours utiliser la redirection normale:
Nohup.out The output file of the Nohup execution if
standard output is a terminal and if the
current directory is writable.
Vous pouvez rediriger la sortie standard et l'erreur standard vers différents fichiers:
Nohup myprogram > myprogram.out 2> myprogram.err
ou dans le même fichier:
Nohup myprogram > myprogram.out 2>&1
Ajouter Jim commentaire comme réponse ici pour plus de visibilité.
utilisation
Nohup program > program.out &
pour écrire la sortie dansprogram.out
au lieu deNohup.out