Comment puis-je rediriger la sortie NoHup vers un fichier?

Comment puis-je rediriger la sortie NoHup vers un fichier?
Aucun accrochage, communément appelé nohup, est un utilitaire Linux qui permet aux processus de continuer à fonctionner en arrière-plan, même après avoir tué ou terminé une session Shell.

Les commandes NoHup acceptent une commande ou un exécutable comme argument. Une fois que vous avez exécuté une commande avec NoHup, il ignore les signaux de hangage (SIGUP), ce qui aide à maintenir un processus en cours d'exécution après la fermeture de la session Shell.

Par exemple, si vous exécutez une commande sur SSH, tous les processus initiés dans la session SSH se fermeront une fois que la session SSH sera découverte. Vous pouvez empêcher cela de se produire en utilisant un multiplexeur de terminal tel que TMUX ou Screen ou utiliser NoHup.

Comment utiliser la commande nohup

Pour utiliser nohup, nous passons la commande comme argument. La syntaxe générale de la commande est:

noHup [Command] [args]

Comment exécuter une commande avec nohup

Pour exécuter une commande, comme un ping, avec nohup, utilisez la commande:

nohup ping linuxhint.com> / dev / null

Une fois que vous avez exécuté la commande avec NoHup, vous devriez obtenir une sortie telle que:

NOHUP: Ignorer les entrées et rediriger Stderr vers STDOUT

Par défaut, NoHup exécute un processus au premier plan tout en redirigeant la sortie vers nohup.dépose. Le fichier est situé dans le répertoire de travail actuel, sauf si l'utilisateur n'a pas d'autorisations d'écriture dans ce répertoire. Dans ce cas, le nohup.Le fichier out est créé dans le répertoire domestique de l'utilisateur.

Pour voir le contenu du nohup.Fichier out, utilisez la commande CAT comme:

chat nohup.SMS

Comment utiliser nohup avec des processus d'arrière-plan

L'exécution d'un processus d'arrière-plan est le moyen le plus efficace d'utiliser la commande nohup. L'exécution d'un processus d'arrière-plan avec NoHup vous permet de fermer le processus parent (shell) sans tuer votre processus.

Pour ce faire, utilisez l'ampère et la commande comme:

Nohup Sleep 300 &

Une fois que vous avez exécuté la commande ci-dessus, le shell lancera la commande Sleep en arrière-plan et attache le sighup ignore au processus.

Pour afficher les processus d'arrière-plan, utilisez la commande Jobs -L.

Comment rediriger la sortie nohup vers un fichier

Si vous ne spécifiez pas le fichier de sortie, NoHup redirige la sortie vers un noHup.dépose. Vous pouvez remplacer cela en utilisant les symboles de redirection.

Par exemple, pour rediriger la sortie de la commande ping en ping.out, utilisez la commande:

nohup ping linuxhint.com> ping.out 2> & 1 &

L'ajout des descripteurs de fichiers 1 et 2 permet une sortie standard et des redirections d'erreur standard vers le ping.dépose.

Vous pouvez également choisir différents fichiers pour la sortie standard et l'erreur standard. Comme:

nohup ping linuxhint.com 1> ping.OUT 2> Ping.Err &

Conclusion

Nous pouvons utiliser la commande noHup pour empêcher un processus de se terminer une fois que le processus parent se termine. En utilisant les paramètres de redirection, nous pouvons également rediriger la sortie de NoHup vers un fichier personnalisé.