- Ouvrez un terminal.
- Où se trouve le programme ps ?
- Où se trouve le programme pstree ?
- Les principaux répertoires qui contiennent les programmes pour tous les utilisateurs sont /bin et /usr/bin. Vérifiez que ces répertoires figurent bien dans la variable d'environnement $PATH.
- Quels sont les autres répertoires figurant dans le $PATH?
-
Créez un répertoire et créez le script monScript.sh avec la commande
echo -e '#!/bin/bash\necho Bonjour'>monScript.sh
Rendez le script exécutable.
-
Pourquoi ne peut-on pas lancer directement le script avec la commande monScript.sh et pourquoi doit-on écrire ./monScript.sh ?
- Quelle commande faut-il exécuter pour pouvoir lancer le script directement avec monScript.sh dans l'interpréteur de commandes (shell) courant ?
- Pourquoi . n'est-il pas mis dans $PATH dans la configuration par défaut ?
- Lancez le programme xcalc. Avez-vous toujours la main dans le terminal ?
- Pour retrouver la main, il faut tuer le programme xcalc. Faites-le en fermant la fenêtre.
- Relancez xcalc et tuez-le en tapant CTRL c dans le terminal.
- Pour avoir à la fois à disposition la calculatrice et le terminal, lancez la calculatrice en arrière plan avec xcalc &.
- Quels sont les pids de l'interpréteur de commandes bash et
de la calculatrice ?
- Quel est le pid du processus parent de xcalc (ppid)?
- Tuez la calculatrice en utilisant la commande kill et
le pid de xcalc.
- Si on a oublié de lancer un processus en arrière plan, on peut arrêter le processus en tapant CTRL z dans le terminal puis le relancer en arrière plan avec la commande bg. Essayez-le. Vérifiez bien que la calculatrice s'arrête après CTRL z et qu'elle fonctionne à nouveau après bg.
- Remettez la calculatrice en avant plan puis tuez la.
-
Le nom de l'exécutable pour lancer un terminal sous Ubuntu est gnome-terminal.
Lancer un deuxième terminal en tapant le nom du programme dans le terminal.
Pouvez-vous utiliser le premier terminal ? le deuxième terminal ?
- Quels sont les pid des processus parents des deux terminaux ?
Quels sont ces processus parents ?
- Avec un éditeur de fichier, modifier le contenu de monScript.sh.
#!/bin/bash
while [ true ]
do
for i in {1..150}
do
echo Bonjour $RANDOM
done
sleep 1
done
- Lancez le script monScript.sh et regardez les ressources que le processus occupe avec la commande top dans un autre terminal.
- Diminuez la priorité du processus à l'aide de la commande renice dans un troisième
terminal et regardez le résultat dans la fenêtre qui exécute le top.
- Tuez le script et relancez le avec la commande
nohup ./monScript.sh > sortie.txt &
- Fermez la fenêtre dans laquelle vous avez lancez la commande et vérifiez que le programme continue à tourner en exécutant la commande dans le répertoire où a été créé le fichier sortie.txt.
tail -f sortie.txt
- Vous pouvez vous déconnecter sans oublier d'enregister les fichiers à sauvegarder et vous reconnectez puis vérifier que le processus tourne toujours.
Pour finir, tuez ce processus. Il se peut que la déconnexion ait tué le processus. Comment peut-on résoudre le problème ?
- Pour aller plus loin : https://linux.goffinet.org/administration/processus-et-demarrage/processus-linux/