GNU/Linux >> Tutoriels Linux >  >> Linux

Linux Command Basics :7 commandes pour la gestion des processus

Supposons que vous vous retrouviez à explorer la ligne de commande Linux pour la première fois ou à entrer dans l'administration Linux. Dans ce cas, une compréhension de bas niveau de la façon de se déplacer dans le terminal et d'effectuer des tâches de base est essentielle. Pour vous aider à saisir ces concepts, consultez mes deux articles précédents :

  • 10 commandes pour démarrer avec le terminal
  • 10 commandes supplémentaires pour manipuler des fichiers

Cependant, si vous vous sentez à l'aise avec ces concepts, nous approfondirons un peu vos connaissances Linux dans cet article. Nous examinerons les processus et la manière de les gérer.

Alors, qu'est-ce qu'un processus ? ?

Sous Linux, un processus est toute instance active (en cours d'exécution) d'un programme. Mais qu'est-ce qu'un programme ? ? Eh bien, techniquement, un programme est un fichier exécutable stocké sur votre machine. Chaque fois que vous exécutez un programme, vous créez un processus. Au niveau de base, c'est assez facile à gérer, et c'est ce que nous allons examiner aujourd'hui.

Ce dont vous avez besoin pour commencer

Je vous recommande de suivre sur votre machine virtuelle préférée. De cette façon, vous pouvez essayer et échouer sans conséquence (ce qui est certainement le meilleur moyen de vous sentir à l'aise au terminal).

Pour cette démo, je vais démarrer le processus de mise en veille pendant 500 secondes. Cette approche vous permet de voir le processus sans que j'apporte de modifications significatives à mon système.

[tcarrigan@client ~]$ sleep 500
^Z
[1]+  Stopped                 sleep 500

J'ai ensuite arrêté le processus avec Ctrl+Z afin que nous puissions utiliser notre terminal.

1. Lister les processus

Pour afficher vos processus actuellement actifs, utilisez le ps commande :

[tcarrigan@client ~]$ ps
    PID TTY          TIME CMD
   2648 pts/0    00:00:00 bash
   3293 pts/0    00:00:00 sleep
   3300 pts/0    00:00:00 ps

Ici, vous obtenez quelques informations sur les processus actifs sur votre système. Vous voudrez faire attention au PID (ID de processus unique), le TIME (durée d'exécution du processus) et le CMD (la commande exécutée pour lancer le processus).

2. Liste détaillée (processus)

Pour voir une liste incroyablement détaillée des processus, vous pouvez utiliser le ps aux commande.

  • a - tous les utilisateurs
  • u - affiche l'utilisateur/propriétaire
  • x - affiche les processus non exécutés dans le terminal (ce qui rend la sortie plutôt longue)

Vous pouvez voir la commande ici (sortie modifiée pour la longueur):

[tcarrigan@client ~]$ ps aux
USER         PID %CPU %MEM   VSZ    RSS   TTY  STAT  START    TIME   COMMAND
tcarrig+    3293  0.0  0.0 215292   520 pts/0    T    13:41   0:00 sleep 500
root        3380  0.0  0.0      0     0 ?        I    13:45   0:00 [kworker/1:1-mm_percpu_wq]
root        3381  0.0  0.0      0     0 ?        I    13:45   0:00 [kworker/1:3]
root        3398  0.0  0.0      0     0 ?        I    13:46   0:00 [kworker/3:2-ata_sff]
root        3481  0.0  0.0      0     0 ?        I    13:50   0:00 [kworker/u8:2-flush-253:0]
root        3482  0.0  0.0      0     0 ?        I    13:50   0:00 [kworker/0:1-events]
root        3483  0.0  0.0      0     0 ?        I    13:50   0:00 [kworker/0:2]
root        3508  0.0  0.0      0     0 ?        I    13:51   0:00 [kworker/3:0-ata_sff]
root        3511  0.0  0.0  18892  7732 ?        S    13:52   0:00 systemd-userwork
root        3512  0.0  0.0  18892  7656 ?        S    13:52   0:00 systemd-userwork
root        3513  0.0  0.0  18892  7656 ?        S    13:52   0:00 systemd-userwork
root        3566  0.4  0.0 432792  8024 ?        Ssl  13:54   0:00 /usr/libexec/fprintd
tcarrig+    3598  0.0  0.0 228208  3948 pts/0    R+   13:54   0:00 ps aux

3. Tuer par PID

Inévitablement, un processus se bloquera et vous devrez kill ce. Plus vous passez de temps à la CLI, plus il est probable que vous aurez besoin du kill commande. Le moyen le plus précis d'identifier un processus est l'ID de processus (PID).

Utilisez la syntaxe suivante :

[tcarrigan@client ~]$ kill PID

Cette commande envoie le SIGTERM signal. Cependant, si vous avez affaire à un processus bloqué, ajoutez le -9 option.

[tcarrigan@client ~]$ ps
    PID TTY          TIME CMD
   2648 pts/0    00:00:00 bash
   3293 pts/0    00:00:00 sleep
   4684 pts/0    00:00:00 sleep
  40527 pts/0    00:00:00 sleep
  40540 pts/0    00:00:00 ps
[tcarrigan@client ~]$ sudo kill -9 3293
[sudo] password for tcarrigan: 
[1]   Killed                  sleep 500

4. Tuer par nom/mot-clé

Utilisez le killall commande pour tuer un processus par son nom. Cette commande tuera tous les processus avec le mot-clé/nom que vous spécifiez.

La syntaxe est :

[tcarrigan@client ~]$ killall sleep

Cela tuerait tout sleep processus actifs sur le système (le -9 l'option fonctionne ici aussi). Voici un exemple :

[tcarrigan@client ~]$ ps
    PID TTY          TIME CMD
   2648 pts/0    00:00:00 bash
   4684 pts/0    00:00:00 sleep
  40527 pts/0    00:00:00 sleep
  40540 pts/0    00:00:00 ps
[tcarrigan@client ~]$ killall -9 sleep 
[2]-   Killed                  sleep 500
[3]+   Killed                  sleep 500

Ces deux commandes suivantes vont de pair. Ils vous permettent de déplacer/gérer les commandes en arrière-plan. Je vais donner un aperçu de base de la syntaxe ci-dessous; cependant, pour un examen approfondi de ces commandes, consultez mon article précédent sur le sujet.

5. Répertorier les tâches d'arrière-plan et reprendre les tâches d'arrière-plan

Pour lister et gérer les tâches en arrière-plan, nous utiliserons le bg commande. J'ai commencé un nouveau sleep 500 processus, puis l'a arrêté, l'envoyant en arrière-plan. Ainsi, nous le voyons répertorié lors de l'exécution de bg ci-dessous :

[tcarrigan@client ~]$ bg
[1]+ sleep 500 &

6. Mettre l'emploi le plus récent au premier plan

Pour ce faire, nous allons utiliser le fg commande. Cela amène le travail/processus le plus récemment exécuté au premier plan. L'exemple suivant est une continuation de la commande ci-dessus. Le sleep 500 processus qui est en arrière-plan est maintenant actif en arrière-plan. Mettons-le en lumière...

[tcarrigan@client ~]$ fg
sleep 500

Cette commande nous amène à notre dernière commande dans cette liste.

7. Mettre une tâche spécifique au premier plan

Utilisez le fg à nouveau, mais sélectionnez une tâche spécifique à mettre au premier plan (au lieu de la plus récente). Pour ce faire, nous allons simplement ajouter le nom du travail/processus à la commande.

[tcarrigan@client ~]$ fg XXXample

Cela apporte le travail XXXample au premier plan.

[ Vous voulez tester vos compétences d'administrateur système ? Faites une évaluation des compétences aujourd'hui. ] 

Conclusion

Dans Linux Command Basics d'aujourd'hui, nous avons examiné les processus et comment les gérer. Vous pouvez désormais effectuer des tâches générales de gestion des processus, de la liste et de la suppression au déplacement entre l'arrière-plan et le premier plan. S'il existe d'autres domaines d'administration Linux généraux pour lesquels vous souhaitez voir une liste de commandes dédiée, envoyez un e-mail à l'équipe à [email protected], et je ferai de mon mieux pour l'étoffer pour vous.


Linux
  1. 20 commandes Linux essentielles pour chaque utilisateur

  2. 8 commandes Linux pour une gestion efficace des processus

  3. 3 commandes Linux utiles pour les administrateurs système

  4. 30 exercices de processus Linux pour les administrateurs système

  5. Conseils de ligne de commande Linux pour augmenter la productivité

Commande Kill sous Linux

Linux top Command Tutoriel pour les débutants (8 exemples)

30 meilleurs exemples de commandes pour la surveillance sous Linux

Les 50 commandes IP Linux utiles pour les administrateurs réseau

Commandes pour la gestion des processus sous Linux

UNIX / Linux :7 exemples pratiques de commandes PS pour la surveillance des processus