TP Unix - Processus jobs - Entrée et sortie standard

Exercice 1: Entrée et sortie standard

La plupart des commandes utilisent trois flots d'entrée - sortie : STDIN, l'entrée standard, habituellement les caractères entrés au clavier ; STDOUT, la sortie standard, ce qui est affiché sur la console ; STDERR, la sortie d'erreur, qui est également affichée sur la console. Il est possible de rediriger l'entrée standard d'une commande pour qu'elle lise un fichier en ajoutant < fichier à la fin de la commande ; et la sortie standard ou d'erreur pour qu'elles écrivent dans un fichier en ajoutant respectivement > fichier et 2> fichier qui créent un fichier ou effacent un fichier existant pour écrire dedans. Si l'on ne souhaite pas effacer le fichier, mais ajouter à la fin : remplacer > par >>. Note : Il ne faut pas confondre les arguments de la ligne de commande avec STDIN.

La commande cat utilisées sans argument à pour comportement de recopier sur STDOUT ce qu'elle dans STDIN.
  1. Utilisez cat pour créer un fichier f1 contenant cinq ou six lignes de votre choix.
  2. Utilisez cat pour créer un fichier f3 contenant /etc/passwd, f1, puis encore /etc/passwd. Essayer de le faire en une seule commande.
  3. Créez un fichier contenant la liste de tous les fichiers se trouvant sous votre répertoire principal.
  4. Ajoutez au fichier précédent la sortie de la commande env.

Il existe un fichier spécial /dev/null agissant comme un puit sans fond pour les données vers lequel on redirige tout ce dont on veut se débarrasser.

  1. Exécutez cat /etc/passwd /etc/toto.
  2. Comment faire pour que cela n'affiche rien ?

Exercice 2: Processus, jobs

On a vu jusqu'à présent des commandes s'exécutant rapidement. Certaines peuvent prendre du temps pour effectuer leurs tâches, et pour d'autres, on peut désirer qu'elles restent actives pendant toute la session.

  1. Lancez un autre terminal avec la commande xterm.
  2. Pouvez vous entrer des commandes dans la première fenêtre ?
  3. Dans la fenêtre acceptant les entrées, lancez maintenant un autre terminal, mais avec xterm &. Que se passe-t-il ? Le signe & permet de lancer une commande en tâche de fond.
  4. Dans la fenêtre bloquée pressez [Ctrl Z], puis exécutez la commande bg. Que se passe-t-il ?
  5. Que se passe-t-il dans l'autre fenêtre si l'on n'a pas tapé bg.
  6. Visualisez l'ensemble des processus tournant sur la machine avec ps -Af. Puis en utilisant grep, vous pouvez sélectionnez les vôtres.
  7. En utilisant la fonction kill pidpid est le numéro du processus que vous voulez tuer (deuxième colonne dans ps -Af), supprimez tous vos xterms sauf un.

Lire aussi

  • Exercice sur la gestion des processus Unix
  • TP unix - Hiérarchie de processus - recouvrement - commandes internes/externes
  • Exercice script unix shell - processus -
  • TP exercice unix ( commande grep )
  • TP UNIX gestion des processus
  • Exercices unix - Filtres usuels - utilisation avancés des pipes
  • Exercice de jointure sous UNIX la commande join