From 2513e0256cb32199d5da2a681acdc2954fc95bd1 Mon Sep 17 00:00:00 2001 From: solar Date: Tue, 30 Sep 2025 13:22:20 +0200 Subject: [PATCH] tkt --- SCR3.1/TP4/Exo1/Rebours | Bin 0 -> 70600 bytes SCR3.1/TP4/Exo1/Rebours.c | 19 +++++++++++++++++++ SCR3.1/TP4/Exo2/parexec | Bin 0 -> 70648 bytes SCR3.1/TP4/Exo2/parexec.c | 20 ++++++++++++++++++++ SCR3.1/TP4/Exo2/rebour.c | 20 ++++++++++++++++++++ SCR3.1/TP4/Exo2/rebours | Bin 0 -> 70696 bytes 6 files changed, 59 insertions(+) create mode 100755 SCR3.1/TP4/Exo1/Rebours create mode 100644 SCR3.1/TP4/Exo1/Rebours.c create mode 100755 SCR3.1/TP4/Exo2/parexec create mode 100644 SCR3.1/TP4/Exo2/parexec.c create mode 100644 SCR3.1/TP4/Exo2/rebour.c create mode 100755 SCR3.1/TP4/Exo2/rebours diff --git a/SCR3.1/TP4/Exo1/Rebours b/SCR3.1/TP4/Exo1/Rebours new file mode 100755 index 0000000000000000000000000000000000000000..37d6bdbd651b92227513a2812bc65a9750645e65 GIT binary patch literal 70600 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 +#include +#include + +int main(int argc, char *argv[]) +{ + int n = (int)strtol(argv[1], NULL,0); + int pid = getpid(); + printf("%d: debut\n", pid); + + for (int i = n; i > 0; i--) { + printf("%d: %d\n", pid, i); + sleep(1); + } + + printf("%d: fin\n", pid); + + return 0; +} diff --git a/SCR3.1/TP4/Exo2/parexec b/SCR3.1/TP4/Exo2/parexec new file mode 100755 index 0000000000000000000000000000000000000000..ee5a9cda7a0e3318c26c2fc0217dc3fd3617caf1 GIT binary patch literal 70648 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 literal 0 HcmV?d00001 diff --git a/SCR3.1/TP4/Exo2/parexec.c b/SCR3.1/TP4/Exo2/parexec.c new file mode 100644 index 0000000..cad02cd --- /dev/null +++ b/SCR3.1/TP4/Exo2/parexec.c @@ -0,0 +1,20 @@ +#include +#include +#include +#include +#include + +int main(int argc, char *argv[]) { + int n = argc - 2; + pid_t pids[n]; + + for (int i = 0; i < n; i++) + { + pids[i] = fork(); + } + for (int i = 0; i < n; i++) + { + waitpid(pids[i], NULL, 0); + } + return 0; +} diff --git a/SCR3.1/TP4/Exo2/rebour.c b/SCR3.1/TP4/Exo2/rebour.c new file mode 100644 index 0000000..4b8cd74 --- /dev/null +++ b/SCR3.1/TP4/Exo2/rebour.c @@ -0,0 +1,20 @@ +#include +#include +#include +#include + +int main(int argc, char* argv[]) +{ + assert(argc == 2); + + int value = strtol(argv[1], NULL, 0); + pid_t p = getpid(); + printf("%d: debut\n",p); + for(int i = value; i>0; i--){ + printf("%d: %d\n",p,i); + sleep(1); + } + printf("%d: fin\n",p); + return EXIT_SUCCESS; + +} diff --git a/SCR3.1/TP4/Exo2/rebours b/SCR3.1/TP4/Exo2/rebours new file mode 100755 index 0000000000000000000000000000000000000000..e14f09452e5745c4dc2dd350f2752a7e102cf9ba GIT binary patch literal 70696 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