Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

fork() y pipe(fd) , Hijo y padre se comunican con un pipe, C, linux

Автор: WhileTrueThenDream

Загружено: 2019-05-14

Просмотров: 31543

Описание:

Cómo un proceso hijo (escritor) se comunica con su padre (lector) con un pipe (sin nombre)

Introducción pipe (min 0:00)
Ejemplo gráfico: padre R, hijo W (min 2:25)
Ejemplo código (min 4:11)
Compila/Corrige warnings/ejecuta (min 11:14)

¿Encontraste el (o los) bug? Gracias por el comentario ! ;-)

BUG:
el mensaje recibido para poder imprimirlo con printf debemos convertirlo en un string:
string en C es un char array terminado en NUll , 0)
Podemos hacerlo de dos maneras:

1.- Escribir en el pipe 6 bytes en lugar de 5. El string "abcde" equivale a: {'a', 'b', 'c' ,'d', 'e', '\0'}. Cambiando el «5» por el «6» envío ese «0» final.
write(fd[1], "abcde",6)

2. Tras leer del pipe añadir el cero de terminación en el buffer: buf[num] = 0x00;

Nota:
Aunque a mi me inprime printf bien, no tiene porqué ser así. El array buf no tiene porqué contener 0 en los bytes no escritos ya que no ha sido inicializado. Si ese fuera el caso printf inprimiría los 5 bytes y otros caracteres raros.


Gracias a aquellos que me habéis indicado el error. Me centré en forl y pipe y olvidé este tema... es muy importante que un string termine en 0 y saber cuándo hay que ponerlo y que funciones precisan ese 0!!

fork() y pipe(fd) , Hijo y padre se comunican con un pipe, C, linux

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

Practical use case for fork and pipe in C

Practical use case for fork and pipe in C

Sockets TCP, Linux, C:  Ejemplo servidor secuencial . Breve teoría.

Sockets TCP, Linux, C: Ejemplo servidor secuencial . Breve teoría.

Programar Colas de Mensajes con prioridad. (Posix Message Queues) en Linux, C

Programar Colas de Mensajes con prioridad. (Posix Message Queues) en Linux, C

Шифры, изменяющие мир

Шифры, изменяющие мир

makefile : cómo construirlo

makefile : cómo construirlo

Тайны ядра Windows: Переполнение буфера, структура KPCR, EPROCESS и защита SMEP.

Тайны ядра Windows: Переполнение буфера, структура KPCR, EPROCESS и защита SMEP.

Unix Processes in C

Unix Processes in C

38.2 - The dup2 System Call - A C tutorial for redirecting stdin and stdout using system calls.

38.2 - The dup2 System Call - A C tutorial for redirecting stdin and stdout using system calls.

Comandos básicos en linux, el terminal y el command prompt.

Comandos básicos en linux, el terminal y el command prompt.

Вся IT-база в ОДНОМ видео: Память, Процессор, Код

Вся IT-база в ОДНОМ видео: Память, Процессор, Код

Как устроена компьютерная графика? OpenGL / C++

Как устроена компьютерная графика? OpenGL / C++

Memoria dinámica en C - Malloc, Calloc y Realloc

Memoria dinámica en C - Malloc, Calloc y Realloc

Как взломать любое программное обеспечение

Как взломать любое программное обеспечение

Linux Pipes: объяснение за 3 минуты

Linux Pipes: объяснение за 3 минуты

fork(). Parte I: ,Creación de un nuevo proceso, hijos, padres, zombies y huérfanos

fork(). Parte I: ,Creación de un nuevo proceso, hijos, padres, zombies y huérfanos

Typst: Современная замена Word и LaTeX, которую ждали 40 лет

Typst: Современная замена Word и LaTeX, которую ждали 40 лет

Programar en C: Memoria Compartida POSIX. (Shared Memory). Linux

Programar en C: Memoria Compartida POSIX. (Shared Memory). Linux

APRENDE C EN 30 MINUTOS

APRENDE C EN 30 MINUTOS

Отправка и обработка сигналов в C (kill, signal, sigaction)

Отправка и обработка сигналов в C (kill, signal, sigaction)

Permisos, usuarios y grupos en Linux. (Administración básica)

Permisos, usuarios y grupos en Linux. (Administración básica)

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: infodtube@gmail.com