Exercice 8
Question 1
Au vu du résultat des commandes suivantes, dessiner l'abre des
processus d'une commande de la forme
com1 ; com2 ; ...
; comn.
% who ; ps -f www ; date ; cd ; ls -F
phm tty1 Apr 28 22:26
lambert tty2 Apr 24 13:34
UID PID PPID C STIME TTY STAT TIME CMD
phm 580 566 0 Apr28 pts/1 S 0:00 -csh
phm 1016 580 0 11:24 pts/1 R 0:00 ps -f www
Sat Apr 29 11:24:45 CEST 2000
INBOX ens/
auto/ public_html/
bin/ tex/
back/ tmp/
dm/ usr/
Question 2
Écrire un programme C correspondant la commande shell
who ; ps -f www ; date ; cd ; ls -F
On exécutera une suite d'
exec(). La commande
cd
étant une commande interne du shell, on ne peut la lancer
directement par un
exec().
Question 3
Étudier le résultat de la commande suivante (comparer avec la
commande précédente)
% who & ps -f www & date & cd & ls -F &
phm tty1 Apr 28 22:26
lambert tty2 Apr 24 13:34
UID PID PPID C STIME TTY STAT TIME CMD
phm 580 566 0 Apr28 pts/1 S 0:00 -csh
phm 1213 580 0 11:27 pts/1 R 0:00 ps -f www
phm 1214 580 0 11:27 pts/1 S 0:00 date
phm 1216 580 0 11:28 pts/1 S 0:00 ls -F
Sat Apr 29 11:27:35 CEST 2000
ChangeLog processus1.log
Makefile processus1.make
Readme processus1.tex
processus1.aux source
processus1.dvi tubes.tex
et écrire un programme C correspondant aux commandes shell
% who & ps -f www & date & cd & ls -F
et
% who & ps -f www & date & cd & ls -F &
Exercice 9
Donner l'implantation sous forme d'un programme C des commandes
shell suivantes :
tar xf foo.tar gee.txt && lpr gee.txt
et
tar xf foo.tar gee.txt || mail -s "il y a des erreurs" marquet@lifl.fr
Exercice 10
Au vu des résultats des commandes suivantes, dessiner l'arbre des
processus d'une commande de la forme com1 | com2 | ... |
comn.
% ps -f www | cat -n | tee foo | wc
7 74 448
% cat foo
1 UID PID PPID C STIME TTY STAT TIME CMD
2 phm 563 557 0 07:15 pts/1 S 0:00 -csh
3 phm 672 563 0 08:29 pts/1 S 0:01 emacs
4 phm 1169 563 0 11:26 pts/1 R 0:00 ps -f www
5 phm 1170 563 0 11:26 pts/1 S 0:00 cat -n
6 phm 1171 563 0 11:26 pts/1 S 0:00 tee foo
7 phm 1172 563 0 11:26 pts/1 S 0:00 wc