Savez-vous l'application Shell? Apprenez ici comment contrôler manuellement l'exécution des processus shell.
En tant que système d'exploitation multitâche, Linux prend en charge l'exécution de nombreux processus - essentiellement, des programmes ou des commandes ou des tâches similaires - en arrière-plan pendant que vous continuez à travailler au premier plan.
Processus de premier plan
Un processus de premier plan est une commande ou une tâche que vous exécutez directement et attendez qu'elle se termine. Certains processus de premier plan affichent un type d'interface utilisateur qui prend en charge une interaction utilisateur continue, tandis que d'autres exécutent une tâche et «gèlent» l'ordinateur pendant qu'il accomplit cette tâche.
À partir du shell, un processus de premier plan commence par taper une commande à l'invite. Par exemple, pour afficher une liste simple des fichiers dans le répertoire actif, tapez:
ls
Vous verrez la liste des fichiers. Pendant que l'ordinateur prépare et imprime cette liste, vous ne pouvez rien faire d'autre à partir de l'invite de commande. Une fois la liste des fichiers imprimée sur la sortie standard, vous retrouvez l'accès à l'invite du shell.
Processus d'arrière-plan
Contrairement à un processus de premier plan, le shell n'a pas à attendre la fin d'un processus d'arrière - plan avant de pouvoir exécuter plus de processus. Dans la limite de la quantité de mémoire disponible, vous pouvez entrer plusieurs commandes d'arrière-plan l'une après l'autre. Pour exécuter une commande en tant que processus d'arrière-plan, tapez la commande et ajoutez un espace et une esperluette à la fin de la commande. Par example:
commande1 &
Lorsque vous émettez une commande avec l'esperluette finale, le shell exécute le travail, mais au lieu de vous faire attendre la fin de la commande, vous serez immédiatement renvoyé au shell. À ce stade, vous pouvez entrer une autre commande pour le processus de premier plan ou d'arrière-plan. Les travaux d'arrière-plan sont exécutés avec une priorité inférieure aux travaux de premier plan.
Vous verrez un message à l'écran à la fin d'un processus d'arrière-plan.
Basculer entre les processus
Si un processus de premier plan prend trop de temps, arrêtez - le en appuyant sur Ctrl + Z . Un travail arrêté existe toujours, mais son exécution est suspendue. Pour reprendre le travail, mais en arrière-plan, tapez bg pour envoyer le travail arrêté en exécution en arrière-plan.
Pour reprendre un processus suspendu au premier plan, tapez fg et ce processus reprendra la session active.
Pour afficher une liste de tous les processus suspendus, utilisez la commande jobs ou utilisez la commande top pour afficher une liste des tâches les plus gourmandes en ressources processeur afin que vous puissiez les suspendre ou les arrêter pour libérer des ressources système. Pour modifier la priorité d'exécution d'un processus, utilisez nice et renice.
Shell contre GUI
Le multitâche fonctionne différemment selon que vous travaillez à partir du shell ou d'une interface utilisateur graphique . Linux à partir du shell ne prend en charge qu'un seul processus actif de premier plan par terminal virtuel. Cependant, du point de vue pratique de l'utilisateur, un environnement fenêtré (par exemple, Linux avec un bureau, pas à partir d'un shell basé sur du texte) prend en charge plusieurs fenêtres actives qui servent efficacement de multiples processus simultanés de premier plan. En pratique, Linux en coulisses ajuste la priorité des processus dans une interface graphique pour promouvoir la stabilité du système et prendre en charge le traitement par l'utilisateur final.