GNU/Linux >> Tutoriels Linux >  >> Linux

30 exercices de processus Linux pour les administrateurs système

Il s'agit de l'ensemble d'exercices suivant l'article sur les processus Linux expliqués.

Si vous avez lu attentivement l'article et compris les principes détaillés à l'intérieur, vous devriez être en mesure de répondre à la plupart des questions.

Si vous trouvez des erreurs ou des imprécisions, n'hésitez pas à laisser un commentaire.

Bonne chance !

Principes de base des processus

  • Question 1 :sur votre hôte Linux, de nombreux processus s'exécutent en même temps. Cependant, une information peut identifier un processus de manière unique.

Comment s'appelle-t-il ?

Développez MeOn Linux, un processus peut être identifié de manière unique par un PID (ou ID de processus), qui ne peut pas être attribué à deux processus distincts à la fois.
  • Question 2  :lorsque votre système démarre, il démarre le tout premier processus sur votre instance.

Comment s'appelle-t-il ?

Expand MeIt s'appelle le processus init et il est utilisé pour exécuter des scripts d'initialisation pour le réseau, les travaux ou les modules. Sur les distributions récentes, il a été remplacé par un processus systemd.
  • Question 3 :vous avez actuellement un terminal shell ouvert sur votre hôte et vous exécutez la commande suivante.

En interne, quels sont les appels système invoqués pour exécuter une telle commande ?

Développez MeFirst, le noyau bifurquera le processus actuel (c'est-à-dire l'interpréteur bash) dans un nouveau processus. Ensuite, l'image du processus bash sera remplacée par l'image chargée du programme ls. Enfin, la commande est exécutée.
  • Question 4 :vous ouvrez un terminal shell sur votre hôte en cliquant sur "Terminal".

En bref, décrivez le fonctionnement du terminal .

Développez-moiLe terminal est un processus interactif simple qui attend perpétuellement l'entrée de l'utilisateur. Lorsqu'une commande est émise, la commande est exécutée en forgeant un nouveau processus et en y exécutant la commande. Pendant ce temps, le processus parent (c'est-à-dire le terminal lui-même) attend la fin du processus enfant. Lorsqu'il a terminé, le processus parent reprend.

Traite les commandes

  • Question 5  :votre administrateur système vous demande d'identifier tous les processus que vous possédez sur l'hôte.

Quelle commande exécuteriez-vous pour faire cela ?

Développez-moiLa façon la plus simple de le faire est d'exécuter la commande ps. Par défaut, il ne signalera pas les périphériques tty, mais vous pouvez choisir d'exécuter "ps u" pour voir tous les processus.
  • Question 6  :votre administrateur système vous demande d'identifier tous les processus de votre système.

Pouvez-vous fournir deux commandes qui affichent tous les processus sur l'hôte ?

Développez MePour afficher tous les processus sous Linux, vous pouvez soit utiliser "ps aux" (qui est une syntaxe BSD) ou "ps -ef" (qui est une syntaxe POSIX)
  • Question 7 :quelle commande affiche les processus sous forme d'arborescence sous Linux ?
Développez-moiPour afficher tous les processus sous forme d'arborescence de processus, vous devez utiliser la commande "pstree".

Processus d'arrière-plan et de premier plan

  • Question 8 :quelle syntaxe est utilisée sous Linux pour exécuter un processus en arrière-plan ?
Développez-moiPour exécuter un processus en arrière-plan, vous devez ajouter un signe "&" à la fin de la commande.
  • Question 9 :quel est le terme qui décrit un processus qui a été lancé dans un shell de terminal ?
Expand MeUn processus exécuté dans un shell est appelé un "job" et la commande jobs affiche vos jobs shell actuels.
  • Question 10  :vous avez exécuté une commande en arrière-plan, mais vous souhaitez que votre processus soit exécuté au premier plan.

Quelle commande exécuteriez-vous ?

Développez-moiL'ID de travail est 1, vous devez donc exécuter "fg %1"
  • Question 11  :votre processus est maintenant exécuté en premier plan .

Quelles commandes appuieriez-vous sur votre clavier pour arrêter le processus (et ne pas le tuer) ?

Développez-moiPour arrêter un processus ou pour envoyer un signal SIGSTOP à un processus, vous devez appuyer sur Ctrl + Z.
  • Question 12 :votre processus est maintenant interrompu.

Comment reprendriez-vous l'exécution en arrière-plan ?

Développez-moiPour reprendre l'exécution, vous pouvez exécuter la commande "bg %1".
  • Question 13 :sur quelles touches pouvez-vous appuyer sur votre clavier pour envoyer un SIGINT à un processus au premier plan ?
Développez-moiPour envoyer un SIGINT à un signal au premier plan, vous devez appuyer sur Ctrl + C.

Signaux et processus

  • Question 14  :comment définiriez-vous un signal lorsqu'il s'agit de processus ?
Développez MeOn Linux, les signaux sont une forme de communication interprocessus (également appelée IPC) qui crée et envoie des notifications asynchrones aux processus en cours d'exécution concernant l'occurrence d'un événement spécifique. Les signaux peuvent être informatifs (SIGUSR1, SIGUSR2 par exemple) ou ils peuvent être utilisés afin de transmettre un ordre spécifique au processus (interruption, stop, kill)
  • Question 15 :quel signal est utilisé sous Linux pour arrêter en douceur un processus ?
Développez MePour arrêter gracieusement un processus, vous devez utiliser le signal SIGTERM (également connu sous le nom de signal numéro 15)
  • Question 16 :d'autre part, disons que vous voulez tuer un processus immédiatement, quel signal utiliseriez-vous pour cela ? Quel est le numéro de ce signal ?
Expand MePour tuer un processus sans lui donner une chance de s'arrêter correctement, vous devez émettre un signal SIGKILL (également connu sous le nom de signal 9)
  • Question 17 :vous avez exécuté la commande suivante dans votre shell de terminal.

Le processus prend beaucoup de temps à s'exécuter, vous décidez donc de quitter votre hôte et d'arrêter votre terminal actuel.

Que s'est-il passé ?

Développer moiLorsque vous avez fermé votre terminal, un signal SIGHUP a été envoyé au processus. En conséquence, le processus a été arrêté immédiatement.
  • Question 18 :quelles solutions pouvez-vous donner pour éviter ce qui vient de se passer ?
Développez-moiPour empêcher un processus d'être tué avec un signal SIGHUP, vous pouvez utiliser la commande "nohup" de la manière suivante "nohup ./script &"
  • Question 19  :de prime abord, pouvez-vous fournir d'autres signaux utilisés sur les systèmes Linux ?
Développez MeSIGQUIT un signal invoqué lorsque vous quittez une session interactive. Il peut être utilisé dans des shells de terminaux ou dans des sessions SSH par exemple. SIGCONT est un signal utilisé pour reprendre un processus arrêté (après un SIGSTOP)

Commandes de processus avancés

  • Question 20 :quelle commande est utilisée sous Linux pour lister tous les processus selon un modèle spécifique ?
Développez MePour rechercher des processus en fonction d'un modèle spécifique, vous pouvez utiliser la commande "pgrep" avec la syntaxe suivante "pgrep "
  • Question 21 :quelle commande utiliseriez-vous pour tuer facilement (SIGKILL) tous les processus commençant par "fire" ?
Développez-moiPour tuer tous les processus commençant par "fire", vous exécuteriez "pkill fire*"
  • Question 22 :sous Linux, quelle commande est utilisée pour exécuter un processus avec un niveau de priorité personnalisé ?
Expand Me"Nice" est la commande utilisée pour exécuter une commande avec une priorité personnalisée, afin qu'elle utilise plus ou moins de ressources CPU.
  • Question 23 :un processus a un joli niveau de 19, va-t-il utiliser le plus de ressources possible ?
Développez MeNo, plus le processus est agréable, plus vous êtes prêt à partager des ressources avec d'autres. Par conséquent, le processus a un niveau de priorité très faible.
  • Question 24 :quel est le niveau de gentillesse par défaut lorsque des processus sont créés sous Linux ?
Développez-moiPar défaut, les processus sont créés avec un joli niveau de 0.
  • Question 25  :en tant qu'utilisateur non sudo, pouvez-vous créer un processus avec un joli niveau de -5 ?
Développez MeNo, les utilisateurs non sudo ne peuvent pas créer de processus avec un niveau agréable inférieur à celui attribué par défaut. De plus, lorsque vous créez un processus avec un niveau de nice personnalisé, vous ne pouvez pas le baisser, même s'il est supérieur à zéro.
  • Question 26 :quelle commande peut être utilisée pour définir la priorité d'un processus en cours d'exécution sous Linux ?
Développez-moiPour personnaliser la priorité d'un processus en cours d'exécution, vous devez utiliser la commande "renice" avec cette syntaxe "renice -n "

Processus de surveillance

  • Question 27 :quelle commande peut-on utiliser sous Linux pour surveiller les processus en temps réel ?
Développez MePour surveiller les ressources utilisées par les processus, on peut utiliser la commande "top" ou la commande "htop" pour un affichage plus convivial.
  • Question 28 :quel raccourci peut être utilisé dans la commande du haut pour changer le taux de rafraichissement ?
Développez-moiPour modifier le taux de rafraîchissement, vous pouvez appuyer sur la touche "d" et le régler sur 1.0 par exemple.
  • Question 29 :quelle option peut être utilisée pour exécuter la commande top pour un nombre personnalisé d'itérations ?
Développez-moiPour exécuter "top" pour un nombre d'itérations donné, vous pouvez utiliser "top -n "
  • Question 30 :connaissez-vous d'autres solutions pour surveiller efficacement les processus Linux ?
Développez MePour surveiller les systèmes Linux, un administrateur système peut utiliser Cockpit, Grafana, Prometheus, Nagios ou Telegraf.

Conclusion

Avec ces exercices sur les processus Linux, vous en avez, espérons-le, appris davantage sur les processus, comment vous pouvez les gérer et les surveiller efficacement.

Vous voulez plus d'exercices ?

  • 30 exercices sur les autorisations Linux pour les administrateurs système

Si vous êtes curieux d'en savoir plus sur l'administration système Linux, nous avons une section entière qui lui est consacrée sur le site Web.


Linux
  1. 12 exemples de commandes IP pour les utilisateurs Linux

  2. Exemples de commandes 20 ps pour surveiller les processus Linux

  3. Linux Command Basics :7 commandes pour la gestion des processus

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

  5. Commande Linux ps

Comment tuer un processus sous Linux

30 exercices d'autorisations Linux pour les administrateurs système

Tutoriel de commande Linux Netstat pour SysAdmins [40 exemples]

40 exemples utiles de commande Linux PS pour les aspirants administrateurs système

Commandes pour la gestion des processus sous Linux

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