Connaissances Informatiques >> systèmes >> Unix >> Content
  Derniers articles
  • Comment une instruction est exécuté…
  • Comment réinitialiser un mot de pas…
  • Quels sont les niveaux de sécurité…
  • Qu'est-ce qu'un octet ? 
  • Expliquez différentes couches de sy…
  • Comment décompresser un fichier tar…
  • Comment pirater UNIX 
  • Comment faire pour supprimer les fic…
  • Quel est l’identifiant du processus …
  • Qu'est-ce qui vient après l'octet ?…
  •   Unix
  • Compétences informatiques de base

  • Linux

  • Mac OS

  • Ubuntu

  • Unix

  • fenêtres

  • windows Vista

  • windows XP

  • Windows 7

  • Windows 10

  • Windows 11

  • Windows 2012

  • Windows 2016

  • Windows 2019

  • Windows 2022

  • Apple

  • Android

  • iOS

  • CentOS
  •  
    Unix

    Que fait le shell ordinaire pendant l’exécution d’une commande ?

    Pendant l'exécution d'une commande, le shell effectue généralement les opérations suivantes :

    * Attend : Le shell entre dans un état « attente ». Il met en pause sa propre exécution et ne traite aucune autre commande à partir de l'entrée jusqu'à ce que la commande en cours d'exécution soit terminée. Il s'agit du comportement par défaut de la plupart des commandes.

    * Gestion des E/S (le cas échéant) : Le shell peut gérer la redirection d’entrée et de sortie pour la commande. Si la commande utilise `<`, `>`, `>>`, `|` ou d'autres opérateurs de redirection, le shell configure les canaux et descripteurs de fichiers appropriés avant de lancer la commande. Il gère le flux de données entre la commande et ses entrées/sorties.

    * Gestion du signal : Le shell gère les signaux (comme les interruptions, SIGINT, envoyées par Ctrl+C). Si un signal est reçu pendant l'exécution d'une commande, le shell peut soit transmettre le signal à la commande en cours d'exécution, soit le gérer lui-même en fonction de sa configuration et du signal spécifique.

    * Gestion des processus : Le shell crée un nouveau processus dans lequel la commande doit s'exécuter. Cela sépare l'exécution de la commande de celle du shell, empêchant ainsi les plantages de la commande d'affecter le shell lui-même. Le shell gère ce processus enfant jusqu'à ce qu'il se termine.

    * Aucun autre traitement de commande : Il n'interprète ni n'exécute aucune autre entrée jusqu'à la fin de la commande en cours d'exécution (sauf s'il s'agit d'un processus en arrière-plan, voir ci-dessous).

    Processus en arrière-plan : L'exception est lorsqu'une commande est exécutée en arrière-plan (en utilisant `&`). Dans ce cas, le shell *n'attend pas*. Il imprime l'ID de processus (PID) du processus en arrière-plan et reprend immédiatement l'acceptation et le traitement des nouvelles commandes de l'utilisateur. Cependant, il gère toujours ce processus en arrière-plan :il vérifie son état, gère les signaux et nettoie lorsqu'il se termine.

    En résumé, l’action principale attend. Cependant, en coulisses, une activité importante implique la gestion des E/S, des signaux et des processus pour garantir la bonne exécution et l'intégration de la commande dans l'environnement du shell.

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Qu’est-ce que du sous Unix ? 
  • Qu'est-ce que l'utilisation de -exec dans la commande find Unix? 
  • Outils Unix pour Windows XP 
  • Qu’est-ce que cu sous Unix ? 
  • Que sont les commandes de l’administrateur système dans le système d’exploitation UNIX ? 
  • Où trouve-t-on le code source Unix ? 
  • Quand les services système UNIX ont-ils été créés? 
  • Comment faire pour récupérer les fichiers supprimés de SCO Unix 
  • Le système d'exploitation UNIX est-il un système de cisaillement du temps ? 
  • Que sont les fichiers binaires et les bibliothèques sous Linux ? 
  • Connaissances Informatiques © http://www.ordinateur.cc