Linux

Comment exécuter une commande en arrière-plan sous Linux ?

Lorsqu’il s’agit de gérer des processus sous Linux, il est souvent nécessaire d’exécuter des commandes en arrière-plan afin de continuer à travailler sur d’autres tâches sans interruption. Voici un guide détaillé sur la façon d’initier et de gérer ces processus en arrière-plan.

Comment exécuter une commande en arrière-plan sous Linux ?

Pour exécuter une commande dans le terminal en arrière-plan, la méthode la plus simple consiste à ajouter une esperluette (&) à la fin de la commande. Par exemple, si vous souhaitez lancer une tâche de copie de fichiers, vous pouvez utiliser :

cp fichier1.txt fichier2.txt &

Cette approche permet de libérer le terminal pour d’autres commandes tout en continuant l’exécution de la tâche de copie.

Suspendre et reprendre un processus

Si vous avez déjà démarré un processus en première plan et que vous souhaitez le déplacer en arrière-plan, il est possible de le suspendre temporairement. Voici comment faire :

  1. Suspendre le processus : Tout d’abord, appuyez sur Ctrl + Z. Cela mettra le processus en pause et le déplacera vers l’arrière-plan.

  2. Reprendre en arrière-plan : Pour continuer son exécution sans le ramener au premier plan, tapez bg et appuyez sur Entrée.

A lire :  Kali Linux est-il dangereux ?

Gestion des processus en arrière-plan

Une fois que vous avez démarré des processus en arrière-plan, il est essentiel de pouvoir les gérer facilement. Utilisez les commandes suivantes :

  1. Pour visualiser les tâches en cours et leurs états, utilisez jobs. Cela affichera une liste de tous les processus actifs en arrière-plan.

  2. Pour ramener un processus spécifique en avant-plan, utilisez fg %n, où n est le numéro de tâche indiqué par la commande jobs.

  3. Pour terminer un processus en arrière-plan, utilisez kill , où PID est l’identifiant de processus que vous pouvez obtenir via jobs.

Utiliser disown pour séparer un processus

La commande disown vous permet de détacher un processus de votre terminal. Cela peut être utile si vous souhaitez quitter le terminal sans arrêter un processus en cours. Voici comment l’utiliser :

  1. Identifiez le numéro de tâche ou l’ID de processus à l’aide de jobs.

  2. Ensuite, tapez disown %n, où n est le numéro de tâche. Cela retire le processus de la gestion du shell et il continuera de fonctionner en arrière-plan.

Différences entre nohup et &

Lors du lancement d’un processus en arrière-plan, il est important de comprendre la différence entre l’utilisation de & et de nohup. La commande nohup permet à un processus de continuer à s’exécuter même si vous fermez la session de terminal. À l’inverse, un processus lancé avec & pourrait être arrêté si le shell se termine. Pour utiliser nohup, tapez :

nohup votre_commande &

Cette technique est particulièrement utile pour les tâches longues que vous souhaitez laisser s’exécuter sans interruption.

FAQ

1. Que se passe-t-il si je ferme le terminal pendant l’exécution d’un processus en arrière-plan ?

Si vous n’utilisez pas nohup, le processus sera généralement arrêté lorsque vous fermez le terminal. En utilisant nohup, le processus peut continuer à s’exécuter.

2. Comment retrouver un processus dont j’ai perdu l’ID ?

Utilisez la commande jobs pour afficher tous les processus actuellement en cours d’exécution dans votre session. Si le processus est détaché, vous devrez utiliser la commande ps pour lister tous les processus actifs.

3. Est-il possible de limiter l’utilisation des ressources d’un processus en arrière-plan ?

Oui, vous pouvez utiliser des outils comme `nice` ou `renice` pour modifier la priorité d’un processus. Cela permet de gérer l’utilisation des ressources selon vos besoins.