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) | ||
+ | |||