7 votes

Exécution des commandes Linux en arrière-plan : esperluette (&) ou écran

L'exécution d'une application en arrière-plan peut se faire en ajoutant une esperluette (" & ") à la fin de l'application ou via l'écran (en ouvrant une session écran) si l'application nécessite une saisie de temps en temps.

Y a-t-il d'autres avantages que ceux mentionnés ci-dessus (ajout de données à l'application) ?

Je suis curieux de savoir s'il y a d'autres avantages d'un point de vue des détails de bas niveau - par exemple, je suppose que les changements pour que l'application soit fermée par le noyau sont légèrement réduits si elle est exécutée via l'écran plutôt qu'avec & à la fin.

10voto

Hennes Points 63532

Utilisation de & fera en sorte que le programme s'exécute en arrière-plan et attende s'il a besoin d'une entrée. Il n'est donc utile que pour les programmes qui n'ont pas besoin d'être saisis.

Le programme se terminera également si vous vous déconnectez, à moins que vous n'utilisiez la fonction nohup commande. Cela va capturer le signal 1 (HangUP) et écrire toute la sortie dans un fichier.

Si vous avez besoin de donner votre avis de temps en temps, trois options s'offrent à vous :

  1. Amenez manuellement le programme au premier plan en utilisant fg .
    Ou fg numéro d'emploi . (Voir jobs ). Inconvénients : 1) Travail supplémentaire 2) Comment savez-vous qu'il attend une entrée à moins que vous ne fassiez tail -f nohup.out ?
  2. Utilisez l'écran.
  3. Utilisez tmux.

6voto

Alex Points 1327

Si vous l'exécutez en écran, vous pouvez fermer votre terminal et il continue à fonctionner.

Si vous l'exécutez via "&", l'application reçoit une commande HUP, ce qui la fait quitter, si vous fermez votre terminal actuel.

Vous pouvez le combiner avec nohup :

nohup /bin/mycommand &

pour le faire fonctionner.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X