GNU/Linux >> Tutoriels Linux >  >> Linux

Comment travailler avec le processus de premier plan et d'arrière-plan sous Linux

Un concept important à comprendre lorsque vous travaillez avec le processus Linux est quel est le premier plan et contexte processus et comment les contrôler. Sous Linux, si vous exécutez des programmes, un processus sera créé avec un ID unique (PID ) et par défaut, le processus s'exécute en premier plan .

Prenons une simple commande curl – lorsque vous envoyez une demande de téléchargement d'un fichier zip sur Internet, curl sera exécuté en premier plan processus et toutes les sorties seront affichées dans le terminal.

Il y a deux frappes importantes que vous devez comprendre avant de travailler avec l'arrière-plan et au premier plan processus.

  • CTRL+Z – Cette frappe arrêtera le processus en cours.
  • CTRL+C – Cette frappe tuera le processus en cours et libérera de la mémoire dans la RAM.

Processus de premier plan Linux

Un processus lorsque vous démarrez à partir du terminal s'exécute par défaut en tant que premier plan processus. Le premier plan le processus ne vous permettra pas d'utiliser le terminal tant que le processus n'est pas terminé. Dans ce cas, si vous avez besoin d'accéder à votre terminal, vous devez ouvrir une nouvelle fenêtre de terminal ou arrêter le processus en cours ou le tuer.

Il est également important de noter que tout processus créé via le terminal est attaché à la session du terminal et le processus sera terminé une fois le terminal fermé. En effet, bash est le processus parent et toute commande que vous exécutez dans le terminal sera le processus enfant de bash, donc lorsque vous fermez le processus parent du terminal (bash) mettra fin automatiquement à tous ses processus enfants et aux siens.

Vous trouverez ci-dessous un exemple du processus de premier plan. Ceci est juste une simple commande de mise en veille qui ne renverra l'invite à l'utilisateur qu'une fois celle-ci terminée.

$ sleep 10000

Maintenant, j'ai peu d'options pour reprendre le contrôle de l'invite du terminal. Soit je dois annuler ou arrêter le processus, soit ouvrir un nouvel onglet de terminal. Lorsque vous arrêtez un processus en cours d'exécution en appuyant sur (CTRL+Z) vous obtiendrez une sortie comme indiqué dans l'image ci-dessous.

Pour obtenir la liste des tâches en cours d'exécution ou arrêtées, vous pouvez exécuter la commande ci-dessous.

$ jobs -l

Dans l'image ci-dessus, vous pouvez voir la commande jobs vous donne le processus ID , quelle commande vous avez soumise, quel est son statut. Vous obtiendrez également un ID de tâche pour chaque processus que vous soumettez ([1], [2] [3], etc.).

Pour démarrer une tâche qui est à l'état arrêté ou mettre la tâche en arrière-plan au premier plan, exécutez la commande suivante.

$ fg %4     

%4 indique l'ID de travail que vous pouvez obtenir à partir de la commande "jobs -l".

Processus d'arrière-plan Linux

Le processus d'arrière-plan exécute votre processus en arrière-plan et ne prendra pas le contrôle de l'invite de votre terminal. Vous pouvez démarrer une session et vous êtes libre d'utiliser votre terminal. Pour soumettre une commande en arrière-plan, vous devez ajouter & symbole à la fin de la commande.

$ sleep 50000 &

Exécutez la commande jobs pour obtenir la liste des jobs.

$ jobs -l

Dans l'image ci-dessous, vous pouvez voir ID de travail [5] est affecté au travail et & indique qu'il est soumis et exécuté en arrière-plan.

Vous pouvez démarrer n'importe quelle tâche arrêtée en arrière-plan directement en exécutant la commande suivante.

$ bg %2 

%2 indique l'ID de tâche que vous pouvez obtenir à partir de la commande "jobs -l ” commande.

Voilà pour cet article. S'il y a des commentaires ou des suggestions, laissez-les dans la zone de commentaires.


Linux
  1. Comment démarrer la commande Linux en arrière-plan et détacher le processus dans le terminal

  2. Comment Noëlsifier votre terminal et votre shell Linux

  3. Comment gérer les travaux d'arrière-plan Linux avec les commandes fg et bg

  4. Comment trouver et tuer le processus Zombie sous Linux

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

Comment suspendre un processus et le reprendre plus tard sous Linux

Comment localiser et tuer un processus avec un terminal Linux

Comment travailler avec des liens durs et des liens souples sous Linux

Comment installer et utiliser Terminator Terminal sous Linux

Comment envoyer des processus en arrière-plan sous Linux

Comment suivre et tracer un processus Linux