GNU/Linux >> Tutoriels Linux >  >> Linux

5 façons d'exécuter des commandes UNIX / Linux (et des scripts shell) en arrière-plan

Question : Je sais comment exécuter une commande Unix au premier plan. Pouvez-vous s'il vous plaît m'expliquer comment je peux exécuter une commande Linux en arrière-plan ?

Réponse : Vous pouvez utiliser l'une des 5 méthodes expliquées dans cet article pour exécuter une commande Linux ou un script shell en arrière-plan.

1. Exécuter une commande en arrière-plan en utilisant &

Vous pouvez exécuter une commande (ou un script shell) en arrière-plan en ajoutant une esperluette à la commande, comme indiqué ci-dessous.

$ ./my-shell-script.sh &

Lisez Bg, Fg, &, Ctrl-Z - 5 exemples pour gérer les tâches d'arrière-plan Unix pour comprendre plus de détails.

2. Exécuter une commande en arrière-plan en utilisant nohup

Après avoir exécuté une commande (ou un script shell) en arrière-plan à l'aide de &, si vous vous déconnectez de la session, la commande sera tuée. Pour éviter cela, vous devez utiliser nohup comme indiqué ci-dessous.

$ nohup ./my-shell-script.sh &

Lisez Unix Nohup :Exécutez une commande ou un script shell même après votre déconnexion pour comprendre plus de détails.

3. Exécuter une commande à l'aide de la commande screen

Après avoir exécuté une commande en arrière-plan à l'aide de nohup et &, la commande sera exécutée même après votre déconnexion. Mais vous ne pouvez pas vous reconnecter à la même session pour voir exactement ce qui se passe à l'écran. Pour ce faire, vous devez utiliser la commande screen.

La commande d'écran Linux offre la possibilité de détacher une session qui exécute un processus, puis de l'attacher ultérieurement. Lorsque vous rattacherez la session plus tard, vos terminaux seront là exactement comme vous les avez laissés plus tôt.

Reportez-vous aux exemples de commandes d'écran :obtenez le contrôle du terminal Linux / Unix pour comprendre plus de détails.

4. Exécuter une commande en tant que travail par lots en utilisant at

À l'aide de la commande at, vous pouvez programmer une tâche pour qu'elle s'exécute à une date et une heure particulières. Par exemple, pour exécuter le script de sauvegarde demain à 10h00, procédez comme suit.

$ at -f backup.sh 10 am tomorrow

Lisez Comprendre les commandes at, atq, atrm, batch en utilisant 9 exemples pour plus de détails.

L'exécution de certains travaux en mode batch nécessite l'activation de certaines options. Les articles suivants apporteront des éclaircissements à ce sujet.

  • Comment capturer la sortie de la commande Unix Top dans un fichier au format lisible
  • Calculateur de ligne de commande Unix bc en mode batch
  • Comment exécuter SSH et SCP en mode batch (uniquement lorsque la connexion sans mot de passe est activée)

5. Exécuter une commande en continu à l'aide de watch

Pour exécuter une commande en continu à un certain intervalle, utilisez la commande watch comme indiqué ci-dessous.

$ watch df -h

Lisez la montre :répétez les commandes Unix ou les scripts Shell toutes les N secondes pour comprendre plus de détails.


Linux
  1. Commandes Linux :jobs, bg et fg

  2. Exécution de commandes Linux en arrière-plan et au premier plan

  3. Commandes Linux de A à Z

  4. 4 façons d'exécuter un script shell sous UNIX / Linux

  5. Exécuter les commandes Shell à partir du programme exécuté dans WINE

Comment exécuter automatiquement les scripts et commandes de démarrage Linux

Comment ajouter des commandes Linux à la file d'attente et les exécuter une par une

Différentes façons de répéter votre dernière commande sous Linux

Commande Linux et Unix TAR

4 façons de transférer des fichiers et des répertoires sous Linux

Commandes Zip et Unzip sous Linux/Unix