GNU/Linux >> Tutoriels Linux >  >> Linux

Commandes shell asynchrones

Alternativement, après avoir lancé le programme, vous pouvez appuyer sur Ctrl-Z qui arrête votre programme, puis tapez

bg

qui met votre dernier programme arrêté en arrière-plan. (Utile si vous avez commencé quelque chose sans '&' et que vous le voulez toujours en arrière-plan sans le redémarrer)


nohup cmd

ne raccroche pas à la fermeture du terminal. la sortie par défaut va à nohup.out

Vous pouvez combiner cela avec l'arrière-plan,

nohup cmd &

et se débarrasser de la sortie,

nohup cmd > /dev/null 2>&1 &

vous pouvez aussi disown une commande. tapez cmd , Ctrl-Z , bg , disown


Vous pouvez simplement exécuter le script en arrière-plan :

$ myscript &

Notez que cela est différent de mettre le & dans votre script, qui ne fera probablement pas ce que vous voulez.


Tout le monde a juste oublié disown . Voici donc un résumé :

  • & place le travail en arrière-plan.

    • Bloque la tentative de lecture de l'entrée, et
    • Fait en sorte que le shell n'attende pas qu'il soit terminé.
  • disown supprime le processus du contrôle des tâches du shell, mais le laisse toujours connecté au terminal.

    • L'un des résultats est que le shell ne lui enverra pas de SIGHUP (Si le shell reçoit un SIGHUP , il envoie également un SIGHUP au processus, ce qui entraîne normalement l'arrêt du processus).
    • Et évidemment, il ne peut être appliqué qu'aux travaux d'arrière-plan (car vous ne pouvez pas le saisir lorsqu'un travail de premier plan est en cours d'exécution).
  • nohup déconnecte le processus du terminal, redirige sa sortie vers nohup.out et le protège du SIGHUP .

    • Le processus ne recevra aucun SIGHUP envoyé .
    • Il est totalement indépendant du contrôle des travaux et pourrait en principe être utilisé également pour les travaux de premier plan (bien que ce ne soit pas très utile).
    • Généralement utilisé avec & (comme tâche d'arrière-plan).

Linux
  1. Comment changer le shell Cron (sh en bash) ?

  2. Fractionnement des commandes longues dans les scripts Shell ?

  3. Continuer les commandes Shell une fois connecté à Ssh ?

  4. L'application basée sur l'interface graphique exécute-t-elle les commandes Shell en arrière-plan ?

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

Comment exécuter une commande / un script Linux Shell en arrière-plan

Comment exécuter des commandes Linux en arrière-plan

Commandes de shell de cluster

Un moyen d'exécuter des commandes shell sur Android par programme ?

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

Comment exécuter un script en arrière-plan (linux openwrt) ?