pipe es una tubería en el sistema Linux, el cuerpo principal del mecanismo de tubería es la llamada de la función pipe, entonces, ¿cómo construir una función pipe en el sistema Linux? La siguiente pequeña serie lo introducirá en el método de construcción de una función de tubería en Linux. Echémosle un vistazo.
● tuberías sin nombre
Se utiliza principalmente entre el padre y el hijo, o entre dos procesos de hermanos. En el sistema Linux, se puede establecer un canal de comunicación unidireccional a través de llamadas al sistema, y esta relación solo puede establecerse mediante el proceso principal. Por lo tanto, cada tubería es unidireccional y se deben establecer dos tuberías cuando se requiere una comunicación bidireccional. Los procesos en ambos extremos de la tubería tratan la tubería como un archivo, un proceso es responsable de escribir en la tubería y el otro es la lectura de la tubería. Esta transmisión sigue las reglas de " primero en entrar, primero en salir " (FIFO).
● Canalizaciones con nombre
Las tuberías con nombre están diseñadas para solucionar las deficiencias de las tuberías sin nombre que solo pueden usarse para la comunicación entre parientes cercanos. Una canalización con nombre es un archivo con su propio nombre creado en el medio de disco o sistema de archivos (no solo en la memoria), y cualquier proceso puede contactar al archivo en cualquier momento por nombre de archivo o ruta. Para implementar tuberías con nombre, se introdujo un nuevo tipo de archivo — — archivo FIFO (siguiendo el principio de primero en entrar, primero en salir). Implementar una tubería con nombre es en realidad implementar un archivo FIFO. Una vez que se establece una tubería con nombre, sus operaciones de lectura, escritura y cierre son idénticas a las de una tubería normal. Aunque el nodo inodo del archivo FIFO está en el disco, es solo un nodo. Los datos del archivo todavía existen en la página del búfer de memoria, que es la misma que la tubería normal.
1. Descripción de la función
pipe (Build Pipeline):
1) Header #include "unistd.h"
2) Define la función: Int pipe (int filedes [2]);
3) Descripción de la función: pipe () creará un pipe y devolverá el descriptor de archivo desde la matriz de parámetros filedes.
filedes [0] es el extremo de lectura de la tubería
filedes [1] es el extremo de escritura de la tubería.
4) Valor de retorno: devuelve cero si tiene éxito; de lo contrario, devuelve -1, la causa del error se almacena en errno.
Código de error:
EMFILE El proceso se ha agotado como máximo en los descriptores de archivos
ENFILE El sistema no tiene descriptores de archivos disponibles.
El parámetro EFAULT filedes array address no es válido.
Anterior12Siguiente Total 2 Páginas
LVM es una administración lógica de volúmenes, que es un mecanismo para la administración de partici
Para los usuarios de Linux, no prestará atención al último tiempo de reinicio del s
Kali Linux es una distribución de Linux basada en Debian. Es un nuevo sistema de pr
de configurar el firewall UFW en Ubuntu Para el firewall UFW del sistema Ubuntu, muchas personas aú
Sistema Linux cómo montar archivos ISO usando el comando mount y el software
Ubuntu 12.04 color de fondo no se puede cambiar solución
Análisis del mecanismo de señal de Linux
Después de reinstalar Linux, no puedo conectarme a la red. Cómo resolver
técnicas de optimización de MySQL en el entorno operativo Linux en
¿Cómo elimina el sistema CentOS la IP de la lista negra de Fail2ban
Cómo instalar y usar Vsftp en el sistema Centos
Cómo Linux limita los fallos de inicio de sesión de usuarios a través de PAM
Cómo configurar el script Kickstart
Linux usa el método de comando mpstat
Comparte 2 formas de abrir la cámara Win8
Microsoft Music sorprende a Windows 8
Instalación del sistema Win8.1 ¿El Asistente de banca por Internet de ICBC informó cómo tratar?
Requisitos de configuración de Dark Soul 2
Actualización simple y gratuita de 360 con win360 tutorial gráfico
Win8.1 desinstalación del sistema, método de parche actualizado
Utilice la biblioteca de archivos de Win 7 para recopilar archivos importantes
Microsoft lanzó Win10 Mobile Preview 10536 Express Edition Actualización de configuración
Win8 viene con una armadura protectora: un breve comentario sobre Windows Defender
Ghost win7 sistema mouse botón central función de aplicación