¿Qué tres archivos siempre abre un proceso?


7

Alguien mencionó que hay tres archivos diferentes que un proceso siempre abre. ¿Qué significa esto? ¿Qué archivos son?

Respuestas:


10

Los archivos que se abren no son archivos en el disco. Son las secuencias (pseudo archivos), stdin (0), stdout (1) y stderr (2). Aquí está el extracto relevante del estándar POSIX :

Un archivo con almacenamiento en búfer asociado se denomina flujo y se declara como un puntero a un tipo definido de ARCHIVO. La función fopen () creará ciertos datos descriptivos para una secuencia y devolverá un puntero para designar la secuencia en todas las transacciones posteriores. Normalmente, hay tres secuencias abiertas con punteros constantes declarados en el encabezado y asociados con los archivos abiertos estándar.

Al inicio del programa, tres flujos deben estar predefinidos y no necesitan abrirse explícitamente: entrada estándar (para leer la entrada convencional), salida estándar (para escribir la salida convencional) y error estándar (para escribir la salida de diagnóstico). Cuando se abre, el flujo de error estándar no está completamente protegido; las secuencias de entrada y salida estándar están completamente almacenadas si y solo si se puede determinar que la secuencia no se refiere a un dispositivo interactivo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.