From 2feaf9634dd67e476746cb76f6f5202477b657f1 Mon Sep 17 00:00:00 2001 From: victor Date: Thu, 5 Oct 2023 20:57:45 +0200 Subject: [PATCH] Ejercicio pipe --- Pipe/pipe | Bin 0 -> 16304 bytes Pipe/pipe.c | 28 ++++++++++++++++++++++++++++ Pipe/pipe2 | Bin 0 -> 16304 bytes Pipe/pipe2.c | 29 +++++++++++++++++++++++++++++ Pipe/texto.txt | 1 + 5 files changed, 58 insertions(+) create mode 100755 Pipe/pipe create mode 100644 Pipe/pipe.c create mode 100755 Pipe/pipe2 create mode 100644 Pipe/pipe2.c create mode 100644 Pipe/texto.txt diff --git a/Pipe/pipe b/Pipe/pipe new file mode 100755 index 0000000000000000000000000000000000000000..1efa3992744a12c64fbb3f86ca3c072c1dfdb0ea GIT binary patch literal 16304 zcmeHOeQ+FQ8GkQrA%)VUrIn^A-B!S2C)=ciQei5Wrq^zme$kIX@ngHmZE`D@yKuJ$ z31cBxaGEI@!ygLH=uG;D(ou2Bh-0k^snr%7WLp2gI*v1i0Zl|O4eCT4dj6i>=h^Np zccP5{xo_s~_ddVp<9+wpclX}SzVCynEt~2R2_fYvW(>ngFH`B^~nTSAp8_(7jmg3?1m@~c(qxdB1d=v$KC9ICP$ z#izI*f}#)F)5sY`^S%SzLIx;;VL!^vK(nV-1M4gC3C_zHqxg|Xeh1j^0Q(6}aeIQ2 zPs#~>*70#fu?0FRf>FN=`$ci1@1_K)4Jx}{chm2uy&deA(Y!D!ifulv1f{(@;757+ zPm7%9o!nln^KgLkFUaXttFunm+P2l%baU3pl?Ivz)~#(`+ol)u`Wmkb)GrMm8dICM z?NJCbP8_FE)eZTw#3S7z)|35;B~4#gWW9O*5AE(Ve>}Bq>w|mm*+(|iZ}K4JYZh(oHw=$hsI&1Upv`lgQs8@av~InEVy=ee7?(o$zGjoK2+&ph@O4AVOG z5M(NHAC&t~l26VM-{*vvlUASf+?4PlpS{iJ=^CJOBjsF(4_`MEA^tKk22O=|97s@R zLOfk>Qbw7-6og#sq>NJxS!4KBWB+SYJ9ej9$6H@8M%MoVM^Rq9 z3zmQB(HoXM3=t<_Wc?r*V`NT&;A1oHVw{?_RL7~ATRzvYY>4bmFv7mmv%hHr!3`IT z;VI+zTelgpCr6JNbhE>EP9?2~hT2RZQ>_y+Bh|Kxp8Qe_YPFqo2QG>YOpWXQJm+YU(oeER7%>^SzjY8^foLLQ)fl(C%>R^!|OP z%cUkLyM5(E6Zq%QVtL|As6nwe>~*WhQSeg}4OAcgsWGzk+`-goWB4U-Z@g13LqKgg zw9isY2=NZ)!a>6;p+Li+Z{Q}s2`5B(8IH%iu6m)Szz(Nge51`6Nxf_gpM*nWxGP7h zdL8q<_V0U9l}`FSc^uTJaWFNLHdgtGbLUKSfqdZvrPaGWgDaAH9G5r)aR%ZH#2JV) z5N9CHK%9X%191l84E*;QNbuW5*B)^5x;x;i_H1unE8=a|iSKEBR+dAiirodLE3esE z(&1rFvvVZ$INce$kk@rxb>wrdopYc{L$S$M+@h)LiinZ8de*Jd-gvF|8jt)xjn6pjBhv42wv)AP(*8Bfi`_rV{_!EN9)(wW-to3@JiI>iWXU@oBRzQ`>;KNO90!O0 zpMk9Bjs|Su^PObe!MK;PpK*wBlyQvl2xBzvd&#n{a&t$=E!xUGU8S5`(pp>fHoc{} zwd9Gd53E_Ex3t~B^uLctd7Z7!m!np6-V)F}%8Aw3fQEH7dpfUms!@°rmG8uQ~3 z{zm5Ix)S?NR1#{bYE1f!oOfDfolqYLt`lFY)aOy5c7yAb6$d=~#lbpOv40YkYW=Tu zT;KKLEKN zJRWzOWQaudBjBsWSyzL<9ekr|3i2<}?jZZR1xoH~!qfj)s>T0Y4gQfD{1Y|!Z`I&` z1fKdCJ>KWRYtp$8{u=y(x+W#pkEmWFo{oT>X0zgL@QoOUOOj&g<8kl{p^<$z*Ry(t z?HeQZvvETu`%X@h_dhB4%=LJ74#CnI{3`I&|7iT1!D}IZsonv8g$NAps^jpOc|^-HttmB<}KSdv~MxDZ`!mgwcFg?zF|uW z9?>QLNm;c29?SD-XFy;}%lf@71Qm>Fr!Ch~-eL02fl7U313{o{GVH%rPDBmb>2JMx}D*Hn@J;@NPY}|1p6LRM^jdxgJ8Zp zPJ+^L>Ga`>2wko3ze@8=+>-Fy=$GjJJ(*{++Ow59;fL{|xt;je+NVagRAfHqOG>Rp zCF~#FuSWm>4;Q)b3PuM5ij9421ja3ZREP@}o8_{)4(Q0CFnf3XvM0RA+W z7Fp)gf=O;E+JC0i2r86Q@t66%;5Zvf`_bcnoc%YjojflH%JT*JQ_iCPhrm%zB!2LF z#lKtf90e1vM9=@%z=r)b_7fcQ-GXoVITU;{;y=y`L9vqnA`2dg_@8El;HWqcak@_atj3=&1`eCeVr z{5w$4*p>F>c|i6H%f4W`{-}tbod0iwqvIEUc|IRlP1e|V>_hM^{(_glIqa{JY}(?Z zv?Bq;Pvm)UCQjOyd1oX0NA0Pta9P0Zvw5Hr|5X9wSHwSz!PpDgCOM$S1Li}}(bQV{ mBlq9A;H2*%ceR%XULg`(+7(-RT&?E+EBawWSsHPOi0WSlDN%<2 literal 0 HcmV?d00001 diff --git a/Pipe/pipe.c b/Pipe/pipe.c new file mode 100644 index 0000000..d4f51ec --- /dev/null +++ b/Pipe/pipe.c @@ -0,0 +1,28 @@ +#include +#include +#include +#include +#include +#include +#include +void main(void) { + char saludo[] = "Saludos peña!!!\n"; + char buffer[10]; + int fd, bytesleidos; + fd = open("texto.txt",1); // abrimos para escritura + if (fd==-1) { + printf("Algo salió mal\n"); + exit (-1); + } + printf("Escribo el saludo en el fichero..."); + write(fd,saludo, strlen(saludo)); + close(fd); + fd=open("texto.txt",0); // abrimos para lectura + printf("Contenido del Fichero: \n"); + bytesleidos = read(fd,buffer,1); + while (bytesleidos!=0) { + printf("%s", buffer); + bytesleidos = read(fd,buffer,1); + } + close (fd); +} \ No newline at end of file diff --git a/Pipe/pipe2 b/Pipe/pipe2 new file mode 100755 index 0000000000000000000000000000000000000000..f782e9b26201bc9acf2405b1382265333ebc80e5 GIT binary patch literal 16304 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 +#include +#include +#include +#include +void main(void) { + int fd[2]; // 0 lectura y 1 escritura + char buffer[30]; + pid_t pid; + + pipe (fd); // creamos el pipe + pid = fork(); // se crea el proceso hijo + switch(pid) { + case -1: // error + printf("Algo falló ..."); + exit(-1); + break; + case 0: // soy el hijo + printf("El hijo escribe en el pipe ...\n"); + write(fd[1], "Hola papi",10); + break; + default: // soy papi + wait(NULL); //espero a fin del hijo + printf("El papi lee del pipe ...\n"); + read(fd[0], buffer, 10); + printf("\tMensaje recibido: %s\n", buffer); + break; + } +} \ No newline at end of file diff --git a/Pipe/texto.txt b/Pipe/texto.txt new file mode 100644 index 0000000..75c5c37 --- /dev/null +++ b/Pipe/texto.txt @@ -0,0 +1 @@ +Saludos peña!!!