GNU/Linux >> Tutoriels Linux >  >> Linux

Que signifie &à la fin d'une commande Linux ?

De plus, vous pouvez utiliser le signe "&" pour exécuter de nombreux processus via une (1) connexion ssh afin de conserver un nombre minimum de terminaux. Par exemple, j'ai un processus qui écoute les messages afin d'extraire des fichiers, le second processus écoute les messages afin de télécharger des fichiers :en utilisant le "&", je peux exécuter les deux services dans un seul terminal, via une seule connexion ssh à mon serveur .

Ces processus exécutés via le "&" "resteront également en vie" après la fermeture de la session ssh. Assez soigné et utile si la connexion ssh au serveur est interrompue et qu'aucun multiplexeur de terminal (screen, tmux, byobu) n'a été utilisé.


Lorsqu'il n'est pas dit autrement, les commandes prennent le premier plan. Vous n'avez qu'un seul processus "de premier plan" en cours d'exécution dans une seule session shell. Le symbole &indique aux commandes de s'exécuter en arrière-plan et revient immédiatement à la ligne de commande pour des commandes supplémentaires.

sh my_script.sh &

Un processus en arrière-plan ne sera pas rester en vie après la fermeture de la session shell. SIGHUP termine tous les processus en cours d'exécution. Par défaut en tout cas. Si votre commande dure longtemps ou s'exécute indéfiniment (c'est-à-dire :microservice), vous devez la mettre en attente avec nohup afin qu'elle continue à s'exécuter après votre déconnexion de la session :

nohup sh my_script.sh &

MODIF : Il semble y avoir une zone grise concernant la fermeture des processus d'arrière-plan lorsque &est utilisé. Sachez simplement que le shell peut fermez votre processus en fonction de votre système d'exploitation et des configurations locales (notamment sur CENTOS/RHEL) :https://serverfault.com/a/117157.


Le & fait exécuter la commande en arrière-plan.

À partir de man bash :

Si une commande est terminée par l'opérateur de contrôle & , le shell exécute la commande en arrière-plan dans un sous-shell. Le shell n'attend pas que la commande se termine et l'état de retour est 0.


Linux
  1. Que signifie le tilde (~) à la fin d'un nom de fichier ? ?

  2. Que signifie - dans cette commande Linux ?

  3. Quelle est la définition d'une session sous Linux?

  4. Que signifie le symbole du tuyau linux | fais?

  5. Que signifie le nom de l'interface eth0 sous Linux ?

Qu'est-ce que la commande Linux Watch + Exemples

Que signifie la commande Cat sous Linux ?

Qu'est-ce que la commande kill sous Linux ?

Qu'est-ce que la table des processus Linux ? En quoi cela consiste?

Que signifie le ./ (barre oblique) sous Linux ?

Que signifie le suffixe .d sous Linux ?