From ab6da28992f841637998c9e4044e1cc1b6f07f80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laure=CE=B7t?= Date: Tue, 20 Apr 2021 18:12:44 +0200 Subject: [PATCH] v1 --- .vscode/launch.json | 29 +++++ .vscode/settings.json | 8 ++ .vscode/tasks | Bin 0 -> 22344 bytes .vscode/tasks.json | 30 +++++ Makefile | 14 ++ README.md | 38 ++++++ jobs | Bin 0 -> 31816 bytes jobs.c | 85 ++++++++++++ jobs.h | 20 +++ minishell | Bin 0 -> 32256 bytes minishell.c | 102 +++++++++++++++ minishell.pdf | Bin 0 -> 166500 bytes readcmd.c | 297 ++++++++++++++++++++++++++++++++++++++++++ readcmd.h | 40 ++++++ test.sh | 2 + 15 files changed, 665 insertions(+) create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100755 .vscode/tasks create mode 100644 .vscode/tasks.json create mode 100644 Makefile create mode 100755 README.md create mode 100755 jobs create mode 100644 jobs.c create mode 100644 jobs.h create mode 100755 minishell create mode 100644 minishell.c create mode 100644 minishell.pdf create mode 100755 readcmd.c create mode 100755 readcmd.h create mode 100644 test.sh diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..f798eb3 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,29 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "gcc - Build and debug active file", + "type": "cppdbg", + "request": "launch", + "program": "${fileDirname}/${fileBasenameNoExtension}", + "args": [], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ], + "preLaunchTask": "C/C++: gcc build active file", + "miDebuggerPath": "/usr/bin/gdb" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..fcac5ac --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "files.associations": { + "signal.h": "c", + "readcmd.h": "c", + "stdlib.h": "c", + "wait.h": "c" + } +} \ No newline at end of file diff --git a/.vscode/tasks b/.vscode/tasks new file mode 100755 index 0000000000000000000000000000000000000000..41ca94f4ca149634d19bc48d5ccca12e503418f1 GIT binary patch literal 22344 zcmeHP3wYbrb-#Z}*Z%t@%df;v2vNc-6#NK;G(a5WI7(zlz|EsgfTAdpYzu73mHrA& zN0uy3QZ(0X!qztHG8)>o&^4^A-54LC#WWqJUAKj9BVM~l#!`?M+L?xSE^YCC=RRcV zADi{-zOUc6@AI|wKlhw_&bjBF`@a9jKL5t`4#QwNIN2ITn72w&d@AALJ5>b0$5ycl zT(4kDSrKrTpviQf1W1)(%uxtUMRx*{Ts=i*fR{-!(@zlH(Lr zxEwo%GuTMOYc$}eXW)N+K9+@zA5RB{@gBZCk$ z)cz!&&`;Z8hd!iH@QEv9cDVsn4m(_@_%)r`@CuTaD6(2``Pq0aAp zkR!kRszF!tW}V+G^-!<;uc2};YwnHhTDhXRH`3S}i>C(~2Ue|YT)Cntm1w#_m_T;5 z;74t0!=2lhV?P@qnwB@1QGh!X4i*uJw-!HgJIQ}7^}a9P^z|3pZ}{=p?x&V#-qXGO zkrv{ia*$5qp+GeH=|JY!;YU2uKVG&UaSBB5-WJlX5H$PcQy^5^iNHTF3!Qjp;(rcw zFMjs00EC(NJ7=L^ISajg7W$!C=(o>8|Ls}mW1xHSvxgoKX0rdLS?Fc6(5ZfA((^j# zUi|EV>T)Lj1n5ic%)l4V!cW6T6>DH8e25_Ee$S!?hX|C# z6G3o=tXLw>`lLiK7#;`(yJGQBZ|uWS;tu!qgB!gpOt~bjU|$G2yOPl;BO>**m2AVt zjCRLei&aqX{eq&U7sN30IM`FbDd_QD``e=`b3%>hnm(fD z*<(H-ma89)kKHEe)E@Ht{kc54n(_o=HjiE|Ma6X@kFK&5^vOJWO&-5)FEqZqO^~o5~$#Xg^^T`;|)f6KLEqQb?FH1JIDvvJ5GnwGaqmwQj0zMfdn)WGC zI(>9yjOe8zCNJB45)z&Ist!ASGDdV%Y%cWpWR&P?i6995dGt!jBCZ2@blp}cVSgT7 zH3cHGhx6z(AIyb056pRB&I5BEnDfAI!UGp8FMm5Q_=Xu6;{VjlSm4lz<(N7X82qMr zT4XEdf0l5X>c@8q{L_Tf5@@_r;Exba zQ~tP5;J-^aP4(j~0zW`FEse�{<}KH06(b1fC?EruuOPocy!=haH)h?+avJ4Gf;2 z=-j$-n7;=3z;H!EfYvq8K2`Tf6Ju{32@JP(KtW)buO)Evq*Vvk#*s#@Etxu3xp+Tx zv(pNKzd`WdR88R8cLJG-zzaXRE%3smGhn znWb;s78q<@O3^^(2UbO3sP$Rt~pQR<0&T21lWc(9>p}JSFyC-ty z1zaaGe@hC#@k=Bh8cEM15)s-!c!r8Geo|@?)CY)78*DX$c``8ENj6Uej5C!_v(=^P zhQMIoqydAG7m|%LFN*9YE_4NcXKxmU-?p1)|C$Q$aulA}M&5vOQ7)ddlD7yew`DUg zgJ&}H%C&E1z73|KO;EcHYF`dyz7fd$UDlMAS036feK3)8o)4~m3CdrB#bbd{|2ZlS zV3y$cr%^LNCJ3qgy8rCp{zm&%VH24!$^jkOk+eGd&zuC}hgWnXe|@@i{4F8g{0 zCrd0oIO$E_7Z~)98RHJpHOzm2rY(Fdh(ClH5WibMq@6Q}&leDB@Br~-0r5|XI0VDt z?h9K)K7_)@5Btw*gIB`feYmXNcg>-ZfyQU4wV_)7{?))U21b=OY{3Fc&Y)r|KQVG} zBwc)=6lF^D7yW11k^Otmvh?F3i|eQfju=$$+hh$>-Hio^4lfUFngohE5=~{p℞x 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 toto" : seq[0][0] = "ls", seq[0][1] = "-l", seq[0][2] = NULL, + seq[1] = NULL, backgrounded = NULL, in = NULL, out => "toto" +- "ls | grep toto | wc -l" : seq[0][0] = "ls", seq[0][1] = NULL, +seq[1][0] = "grep", seq[1][1] = "toto", seq[1][2] = NULL, +seq[2][0] = "wc", seq[0][1] = "-l", seq[0][2] = NULL, +seq[3] = NULL, backgrounded = NULL, in = NULL, out = NULL +- "sleep 100 &" : seq[0][0] = "sleep", seq[0][1] = "20", backgrounded != NULL, in = NULL, out = NULL \ No newline at end of file diff --git a/jobs b/jobs new file mode 100755 index 0000000000000000000000000000000000000000..fbb8adf7ba6266c75ccf50fd9d78040886e33a64 GIT binary patch literal 31816 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 +#include +#include "jobs.h" + +void ajouter(list* l_ptr, int pid, int id) { + + cell* new_cell = malloc(sizeof(*new_cell)); + + new_cell->pid = pid; + new_cell->id = id; + + if (*l_ptr == NULL) { + new_cell->next = NULL; + } else { + new_cell->next = *l_ptr; + } + + *l_ptr = new_cell; + + printf("[%d] %d\n", id, pid); + +} + +void supprimer(list* l_ptr, int pid) { + + cell* cursor = *l_ptr; + + if (cursor->pid == pid) { + cell* cursor2free = cursor; + *l_ptr = cursor->next; + free(cursor2free); + } else { + while (cursor->next != NULL) { + if (cursor->next->pid == pid) { + break; + } else { + cursor = cursor->next; + } + } + cell* cursor_next = cursor->next->next; + free(cursor->next); + cursor->next = cursor_next; + } + + + +} + +void afficher(list* l_ptr) { + + cell* cursor = *l_ptr; + + while (cursor != NULL) { + printf("[%d] %d\n", cursor->id, cursor->pid); + cursor = cursor->next; + } + +} + +void initialiser(list* l_ptr) { + *l_ptr = NULL; +} + +void liberer(list* l_ptr) { + free(*l_ptr); + *l_ptr = NULL; +} + +int est_vide(list l_ptr) { + return l_ptr == NULL; +} + +int contiens(list* l_ptr, int pid) { + + cell* cursor = *l_ptr; + + while (cursor != NULL) { + if (cursor->pid == pid) { + return 1; + } + cursor = cursor->next; + } + + return 0; +} \ No newline at end of file diff --git a/jobs.h b/jobs.h new file mode 100644 index 0000000..347c910 --- /dev/null +++ b/jobs.h @@ -0,0 +1,20 @@ +#ifndef __JOBS_H +#define __JOBS_H + +typedef struct cell cell; +struct cell { + int pid; + int id; + cell* next; +}; + +typedef cell* list; + +void ajouter(cell** list, int pid, int id); +void supprimer(cell** list, int pid); +void afficher(cell** list); +void initialiser(list* list); +void liberer(list* list); +int contiens(list* l_ptr, int pid); + +#endif \ No newline at end of file diff --git a/minishell b/minishell new file mode 100755 index 0000000000000000000000000000000000000000..65982dd298ee6ad17539cd910b31c20bbf48b371 GIT binary patch literal 32256 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 DM$)PQ literal 0 HcmV?d00001 diff --git a/minishell.c b/minishell.c new file mode 100644 index 0000000..bbfd81d --- /dev/null +++ b/minishell.c @@ -0,0 +1,102 @@ +#define _GNU_SOURCE + +#include +#include +#include +#include +#include +#include +#include +#include +#include "readcmd.h" +#include "jobs.h" + +int prompting = 0; +int job_id = 1; +list jobs; + +void handler_print(int signal_num, siginfo_t* info) { + if (contiens(&jobs, info->si_pid)) { + if (prompting) { printf("\n"); } + printf("[%d] --> (%d) %s\n", info->si_pid, signal_num, strsignal(signal_num)); + supprimer(&jobs, info->si_pid); + job_id--; + } +} + +int main(int argc, char *argv[]) { + + extern int errno; + + initialiser(&jobs); + + struct sigaction action; + action.sa_flags = SA_SIGINFO; //| SA_RESTART; + action.sa_handler = handler_print; + sigemptyset(&action.sa_mask); + sigaction(SIGCHLD, &action, NULL); + + + char initcd[256], currentcd[256]; + getcwd(initcd, 256); + + while (1) { + getcwd(currentcd, 256); + printf("%s >>> ", currentcd); + prompting = 1; + struct cmdline* cmd = readcmd(); + prompting = 0; + + if (cmd == NULL || cmd->seq[0] == NULL) { // ligne vide, on skip + continue; + } else if (!strcmp(cmd->seq[0][0], "exit")) { // on quitte le shell + break; + } else if (!strcmp(cmd->seq[0][0], "cd")) { // cd + if (cmd->seq[0][1] == NULL) { // vide + chdir(initcd); + } else { // avec un path + chdir(cmd->seq[0][1]); + } + continue; + } else if (!strcmp(cmd->seq[0][0], "jobs")) { + afficher(&jobs); + continue; + } + + pid_t pidFils = fork(); + + if (pidFils == -1) { + fprintf(stderr, "ERROR: forking failed, %s\n", strerror(errno)); + exit(errno); + } + + if (pidFils == 0) { // fils + execvp(cmd->seq[0][0], cmd->seq[0]); + exit(errno); // si execlp échoue on exit avec une erreur + + } else { // père + if (cmd->backgrounded) { + ajouter(&jobs, pidFils, job_id++); + } else { + jmp_buf env; + setjmp(env); + int codeTerm; + pid_t idFils = waitpid(pidFils, &codeTerm, 0); // on attend la fin de l'exec du fils + + if (idFils == -1){ + + // todo : peut mieux faire ? + if (errno == 4) { + longjmp(env, 1); + } + + fprintf(stderr, "ERROR: waiting for %d failed, (%d) %s\n", codeTerm, errno, strerror(errno)); + exit(errno); + } + + } + } + } + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/minishell.pdf b/minishell.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6309f4a904e1fb7e3806296377eeeefb10c12f8b GIT binary patch literal 166500 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%0AEelg7Z=>k%#Rs-lNC>X@@O#?E@5@4)DK>(Hm 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%0AGh`ZX*uSh(O5`+m-uI*GB&))J6115yY&Px zCsD?5KAu#Hj286m(N|Hl^KLpSURF1>dT@@b(mdx5i{MSje|WS{!=i0p+{AxMZoT^C z^sS|)Fa9H+hw|%B|8CK4VLr4~WWT$s@pW)s)F2vpJ*$hVAhoo7EYBa>%XQ|0sEE}<7#@g);hXwIRig&I=tZUskS+TYKTkCTj zEHDYKylJTp&Vd_PWFyUvOZP!~a-d5UMpV;xK|9ct+B&@9H+rK4!RJ;`7j`|XJKaPU z6ML|v;+M{q3atqw-fvqN`8d8b&YE5y9Kod%bvlPXZk^2hKOf9fpqV$n+A{1DMe#A? zok7C(mL+GL)o%E9)WRV8i3;J2Ocx_k%HLtfXVtRuOM2A~44;sLs8r+@epWAE`FFSM z-Tzmw@?TSuz~0CTnuq7VO-e=rCKhJa|L&Lw7&%#)|7Wq1iGlO~E>_08fGgDV(9qcYN=Z3iwsY(Ak4B0uB)%R{T`j04@Drb+c&g@S1 z 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 q`g(b|M%{zywo;z|?{mb_N#DWA?bq2s(zE +#include +#include +#include +#include +#include +#include "readcmd.h" + + +static void memory_error(void) +{ + errno = ENOMEM; + perror(0); + exit(1); +} + + +static void *xmalloc(size_t size) +{ + void *p = malloc(size); + if (!p) memory_error(); + return p; +} + + +static void *xrealloc(void *ptr, size_t size) +{ + void *p = realloc(ptr, size); + if (!p) memory_error(); + return p; +} + + +/* Read a line from standard input and put it in a char[] */ +static char *readline(void) +{ + size_t buf_len = 16; + char *buf = xmalloc(buf_len * sizeof(char)); + + if (fgets(buf, buf_len, stdin) == NULL) { + free(buf); + return NULL; + } + + do { + size_t l = strlen(buf); + if ((l > 0) && (buf[l-1] == '\n')) { + l--; + buf[l] = 0; + return buf; + } + if (buf_len >= (INT_MAX / 2)) memory_error(); + buf_len *= 2; + buf = xrealloc(buf, buf_len * sizeof(char)); + if (fgets(buf + l, buf_len - l, stdin) == NULL) return buf; + } while (1); +} + + +/* Split the string in words, according to the simple shell grammar. */ +static char **split_in_words(char *line) +{ + char *cur = line; + char **tab = 0; + size_t l = 0; + char c; + + while ((c = *cur) != 0) { + char *w = 0; + char *start; + switch (c) { + case ' ': + case '\t': + /* Ignore any whitespace */ + cur++; + break; + case '<': + w = "<"; + cur++; + break; + case '>': + w = ">"; + cur++; + break; + case '|': + w = "|"; + cur++; + break; + case '&': + w = "&"; + cur++; + break; + default: + /* Another word */ + start = cur; + while (c) { + c = *++cur; + switch (c) { + case 0: + case ' ': + case '\t': + case '<': + case '>': + case '|': + case '&': + c = 0; + break; + default: ; + } + } + w = xmalloc((cur - start + 1) * sizeof(char)); + strncpy(w, start, cur - start); + w[cur - start] = 0; + } + if (w) { + tab = xrealloc(tab, (l + 1) * sizeof(char *)); + tab[l++] = w; + } + } + tab = xrealloc(tab, (l + 1) * sizeof(char *)); + tab[l++] = 0; + return tab; +} + + +static void freeseq(char ***seq) +{ + int i, j; + + for (i=0; seq[i]!=0; i++) { + char **cmd = seq[i]; + + for (j=0; cmd[j]!=0; j++) free(cmd[j]); + free(cmd); + } + free(seq); +} + + +/* Free the fields of the structure but not the structure itself */ +static void freecmd(struct cmdline *s) +{ + if (s->in) free(s->in); + if (s->out) free(s->out); +// if (s->backgrounded) free(s->backgrounded); + if (s->seq) freeseq(s->seq); +} + + +struct cmdline *readcmd(void) +{ + static struct cmdline *static_cmdline = 0; + struct cmdline *s = static_cmdline; + char *line; + char **words; + int i; + char *w; + char **cmd; + char ***seq; + size_t cmd_len, seq_len; + + line = readline(); + if (line == NULL) { + if (s) { + freecmd(s); + free(s); + } + return static_cmdline = 0; + } + + cmd = xmalloc(sizeof(char *)); + cmd[0] = 0; + cmd_len = 0; + seq = xmalloc(sizeof(char **)); + seq[0] = 0; + seq_len = 0; + + words = split_in_words(line); + free(line); + + if (!s) + static_cmdline = s = xmalloc(sizeof(struct cmdline)); + else + freecmd(s); + s->err = 0; + s->in = 0; + s->out = 0; + s->backgrounded = 0; + s->seq = 0; + + i = 0; + while ((w = words[i++]) != 0) { + switch (w[0]) { + case '&': + if(s->backgrounded){ + s->err = "error on &"; + goto error; + } + s->backgrounded = &w[0]; + break; + case '<': + /* Tricky : the word can only be "<" */ + if (s->in) { + s->err = "only one input file supported"; + goto error; + } + if (words[i] == 0) { + s->err = "filename missing for input redirection"; + goto error; + } + s->in = words[i++]; + break; + case '>': + /* Tricky : the word can only be ">" */ + if (s->out) { + s->err = "only one output file supported"; + goto error; + } + if (words[i] == 0) { + s->err = "filename missing for output redirection"; + goto error; + } + s->out = words[i++]; + break; + case '|': + /* Tricky : the word can only be "|" */ + if (cmd_len == 0) { + s->err = "misplaced pipe"; + goto error; + } + + seq = xrealloc(seq, (seq_len + 2) * sizeof(char **)); + seq[seq_len++] = cmd; + seq[seq_len] = 0; + + cmd = xmalloc(sizeof(char *)); + cmd[0] = 0; + cmd_len = 0; + break; + default: + cmd = xrealloc(cmd, (cmd_len + 2) * sizeof(char *)); + cmd[cmd_len++] = w; + cmd[cmd_len] = 0; + } + } + + if (cmd_len != 0) { + seq = xrealloc(seq, (seq_len + 2) * sizeof(char **)); + seq[seq_len++] = cmd; + seq[seq_len] = 0; + } else if (seq_len != 0) { + s->err = "misplaced pipe"; + i--; + goto error; + } else + free(cmd); + free(words); + s->seq = seq; + return s; +error: + while ((w = words[i++]) != 0) { + switch (w[0]) { + case '<': + case '>': + case '|': + case '&': + break; + default: + free(w); + } + } + free(words); + freeseq(seq); + for (i=0; cmd[i]!=0; i++) free(cmd[i]); + free(cmd); + if (s->in) { + free(s->in); + s->in = 0; + } + if (s->out) { + free(s->out); + s->out = 0; + } + if (s->backgrounded) { +// free(s->backgrounded); + s->out = 0; + } + return s; +} diff --git a/readcmd.h b/readcmd.h new file mode 100755 index 0000000..75b5bbd --- /dev/null +++ b/readcmd.h @@ -0,0 +1,40 @@ +#ifndef __READCMD_H +#define __READCMD_H + +/* Lit une ligne de commande depuis l'entrée standard. + * Remarque : + * Dans le cas où suffisamment de mémoire ne peut être allouée pour le résultat, + * affiche un message d'erreur et appelle exit(). + */ + +struct cmdline *readcmd(void); +/* Structure retournée par readcmd() + * Remarques utiles : + * - readcmd() peut retourner null, dans le cas où le processus en attente sur readcmd reçoit un signal + * - en cas d'appels successifs, + * readcmd() réutilise la mémoire allouée à la structure cmdline qu'elle retourne + */ +struct cmdline { + char *err; /* Si non null : message d'erreur à afficher. + * Dans ce cas, les autres champs sont nuls. */ + char *in; /* Si non null : nom du fichier vers lequel l'entrée doit être redirigée. */ + char *out; /* Si non null : nom du fichier vers lequel la sortie doit être redirigée. */ + char *backgrounded; /* Si non null : commande en tâche de fond */ + char ***seq; /* Une ligne de commande est une suite de commandes liées par des tubes + * Ainsi, + * - une commande est un tableau de chaînes de caractères (char **). + * Chaque élément de ce tableau est en effet une chaîne (char *) + * correspondant à un argument de la commande. + * Le dernier pointeur du tableau est suivi d'un pointeur null, qui + * marque la fin du tableau. + * - seq est un tableau de commandes (char ***), chaque commande de ce + * tableau correspondant à une commande élémentaire du pipeline. + * Le dernier élément (char **) du tableau est ici aussi suivi d'un pointeur null. + * - Dans le cas particulier où une ligne vide est saisie, le pointeur référencé par + * seq vaut directement NULL : puisque le tableau n'a aucun élément, le marqueur + * de fin de tableau se trouve référencé par seq, ce que l'on peut écrire + * (*seq == NULL) + * (ou (seq[0] == NULL), mais cela peut prêter à confusion, seq[0] n'existant pas) + */ +}; +#endif diff --git a/test.sh b/test.sh new file mode 100644 index 0000000..f8fc522 --- /dev/null +++ b/test.sh @@ -0,0 +1,2 @@ +sleep 5 +echo bonjourr