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 ?
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 ?
- Question 9 :quel est le terme qui décrit un processus qui a été lancé dans un shell de terminal ?
- 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 ?
Signaux et processus
- Question 14 :comment définiriez-vous un signal lorsqu'il s'agit de processus ?
- Question 15 :quel signal est utilisé sous Linux pour arrêter en douceur un processus ?
- 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 ?
- 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 ?
- Question 19 :de prime abord, pouvez-vous fournir d'autres signaux utilisés sur les systèmes Linux ?
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 ?
- Question 21 :quelle commande utiliseriez-vous pour tuer facilement (SIGKILL) tous les processus commençant par "fire" ?
- Question 22 :sous Linux, quelle commande est utilisée pour exécuter un processus avec un niveau de priorité personnalisé ?
- Question 23 :un processus a un joli niveau de 19, va-t-il utiliser le plus de ressources possible ?
- Question 24 :quel est le niveau de gentillesse par défaut lorsque des processus sont créés sous Linux ?
- Question 25 :en tant qu'utilisateur non sudo, pouvez-vous créer un processus avec un joli niveau de -5 ?
- Question 26 :quelle commande peut être utilisée pour définir la priorité d'un processus en cours d'exécution sous Linux ?
Processus de surveillance
- Question 27 :quelle commande peut-on utiliser sous Linux pour surveiller les processus en temps réel ?
- Question 28 :quel raccourci peut être utilisé dans la commande du haut pour changer le taux de rafraichissement ?
- Question 29 :quelle option peut être utilisée pour exécuter la commande top pour un nombre personnalisé d'itérations ?
- Question 30 :connaissez-vous d'autres solutions pour surveiller efficacement les processus Linux ?
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.