Réaliser à l'aide de tube les opérations suivantes: (en shell !!!)
- Compter le nombre de fichiers se trouvant dans le répertoire courant.
- Compter le nombre d'utilisateurs connectés.
- Afficher la liste des 10 processus qui consomment le plus de mémoire.
- Afficher la liste des processus de tous les utilisateurs, classée par nom d'utilisateur.
Rappels sur les processus : 2programmes à écrire
1. le premier programme :
- Le processus Père
- accepte un entier sur la ligne de commande puis génère un autre entier aléatoire à partir de largument et de lheure de lordinateur.
- sauvegarde cette donnée dans lenvironnement du système dexploitation et affiche le nom du programme, ses PID et PPID ainsi que lheure du système.
- appelle un processus fils en lui passant largument de départ incrémenté.
- Le processus fils doit récupérer la variable denvironnement et :
- appeler une fonction aléatoire semblable à celle du père
- comparer la valeur de lenvironnement à celle choisie aléatoirement
- afficher le nom du programme, ses PID et PPID ainsi que lheure du système.
- Si les valeurs sont différentes, le fils se termine en retournant une valeur témoin au père et le père reprend la procédure,
- Si les valeurs sont identiques, le fils se termine en retournant une autre valeur témoin au père et le père fini la procédure,
2. Le deuxième programme:
illustre le concept de tube (pipeline) entre deux processus notamment entre un processus père et un processus fils. Le père doit envoyer la chaîne (string) de caractères « info331 » vers le fils ou vice-versa. Lors de lexécution du programme, on doit pouvoir distinguer lequel est le processus envoyeur et lequel le destinataire.
Exemple de sortie à lécran :
$ le pere envoie la chaine: info331
le fils lit la chaine : info331
fin de léchange