| TD 4 | 
|  
type redirection = In_to_file of string (* < file *) | Out_to_file of string (* > file *) | Err_to_file of string (* 2> file *) | Out_append_file of string (* >> file *) | Err_to_out ;; (* 2>&1 *) | 
command_fg_redirect qui prend en argument
une commande, ses arguments sous forme d'un tableau et une liste de
redirections et qui exécute la commande après avoir effectué les
redirections nécessaires puis attend sa terminaison.cat [||] [ In_to_file input; Out_append_file output]
redirige l'entrée standard de la commande cat vers le fichier de
nom input et la sortie standard vers le fichier de nom output./tmp/foo; Err_to_out]
redirige la sortie standard et la sortie d'erreur vers le fichier
/tmp/foo et
command_fg_redirect cmd [||] [ Err_to_out ; Out_to_file /tmp/foo ]
redirige la sortie d'erreur vers le stdout d'origine et redirige
stdout vers /tmp/foo.
mon_system qui exécute une commande passée
 en argument sous la forme d'une chaîne de caractères en passant
 cette dernière en argument de la commande /bin/sh -c. Cette
 fonction se termine quand la commande termine. Pendant l'exécution
 de la commande le signal SIGCHLD est bloqué et les signaux SIGINT et
 SIGQUIT sont ignorés. La fonction retourne la valeur de retour de la
 commande ou lève une exception en cas d'erreur.sleep 10. En particulier, vérifiez que le signal
envoyé par ^C est bien reçu par sleep mais pas par votre
programme.
pipeline_commands qui prend en argument une
liste de couples (cmd,args) et qui redirige la sortie standard de la
première commande vers l'entrée de la seconde et ainsi de suite.cat,[||]);(grep,[|"test"|]);(wc,[|"-l"|])]
affiche le nombre de lignes qui contiennent le texte test lu sur
l'entrée standard.wait lève une exception
ECHILD). Nous supposerons également, que l'appel à wait ne
peut pas être interrompu par un signal (par exemple SIGCHLD), sauf
en cas d'erreur grave, ce qui termine de toute façon le programme.
This document was translated from LATEX by HEVEA and HACHA.