J'ai vu des tonnes d'exemples où a &
suit la fin d'une chaîne de commande, mais je n'arrive pas à trouver d'explication sur ce qu'il fait. Ce n'est même pas dans nohup
la man
page de. Est-ce un truc de coquille?
&
Que ce soit en utilisant ou non, je trouve que tout processus exécuté nohup
semble présenter une immunité à tout signal de raccrochage.
&
, donc je ne savais pas s'il y&
avait une sorte de modificateur ou d'argument qui faisaitnohup
se comporter différemment.Réponses:
Depuis la page de manuel bash :
Alors oui, c'est une chose shell, et peut être utilisé avec n'importe quelle commande. Il vous rend essentiellement le contrôle immédiatement et permet à la commande de se terminer en arrière-plan. Ceci est presque toujours utilisé avec
nohup
car vous voulez généralement quitter le shell après avoir démarré la commande.la source
L'utilisation de l'esperluette (&) exécutera la commande dans un processus enfant (enfant de la session bash en cours). Cependant, lorsque vous quittez la session, tous les processus enfants seront supprimés.
l'utilisation de nohup + esperluette (&) fera la même chose, sauf qu'à la fin de la session, le parent du processus enfant sera changé en "1" qui est le processus "init", préservant ainsi l'enfant d'être tué.
la source
Oui, c'est une chose shell - il exécute la commande en arrière-plan, vous n'avez donc pas à attendre le retour de la commande actuelle avant d'émettre d'autres commandes.
la source