This shows you the differences between two versions of the page.
|
sde2:laboratoare:04_rust [2023/03/19 19:11] cristiana.andrei created |
sde2:laboratoare:04_rust [2023/03/28 08:02] (current) alexandru.radovici |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== TP 04 - Processus et le type Box ====== | ====== TP 04 - Processus et le type Box ====== | ||
| + | |||
| + | <note warning> | ||
| + | Vous devez **accepter** le assignment d'ici et travailler avec ce repository: [[https://classroom.github.com/a/MvbjpDTq|Lab4]] | ||
| + | </note> | ||
| + | |||
| ===== Objectifs ===== | ===== Objectifs ===== | ||
| Line 52: | Line 57: | ||
| <code c> | <code c> | ||
| - | use nix::{sys::wait::waitpid,unistd::{fork, ForkResult, write}}; | + | use nix::sys::wait::waitpid; |
| + | use nix::sys::unistd::{fork, ForkResult, write}; | ||
| match unsafe{fork()} { | match unsafe{fork()} { | ||
| Line 124: | Line 130: | ||
| ===== Sujets ===== | ===== Sujets ===== | ||
| + | - Créer un programme de sorte que la contenu d'un fichier qui est recu comme premier argument soit **redirigée vers** un fichier reçu en tant que deuxième argument - une fonctionnalité similaire à l'utilitaire [[https://www.geeksforgeeks.org/cp-command-linux-examples/|cp]] de Linux. | ||
| - Écrivez un programme qui alloue dynamiquement un String à l'aide de Box. Lisez un texte au clavier et ajoutez-le aux String allouée. Imprimez le String. | - Écrivez un programme qui alloue dynamiquement un String à l'aide de Box. Lisez un texte au clavier et ajoutez-le aux String allouée. Imprimez le String. | ||
| - Créez un programme qui utilise fork pour créer un processus enfant. | - Créez un programme qui utilise fork pour créer un processus enfant. | ||
| Line 132: | Line 139: | ||
| - Redirigez la sortie du processus enfant (fd 1) vers un fichier appelé output.txt. Ouvrez le fichier en écriture et utilisez dup2. | - Redirigez la sortie du processus enfant (fd 1) vers un fichier appelé output.txt. Ouvrez le fichier en écriture et utilisez dup2. | ||
| - N'écrasez pas le fichier output.txt, ajoutez-y des données (fs :: OpenOptions) | - N'écrasez pas le fichier output.txt, ajoutez-y des données (fs :: OpenOptions) | ||
| + | |||