Un archivo temporal es un archivo creado para almacenar información temporalmente, ya sea para el uso intermedio de un programa o para transferirlo a un archivo permanente cuando esté completo. [1] Puede ser creado por programas de computadora para una variedad de propósitos, como cuando un programa no puede asignar suficiente memoria para sus tareas, cuando el programa está trabajando con datos más grandes que el espacio de direcciones de la arquitectura , o como una forma primitiva de interconexión. -comunicación de proceso .
Los sistemas operativos modernos emplean memoria virtual , sin embargo, los programas que utilizan grandes cantidades de datos (por ejemplo, edición de vídeo ) pueden necesitar crear archivos temporales.
La mayoría de los sistemas operativos ofrecen primitivos como pipes , sockets o memoria compartida para pasar datos entre programas, pero a menudo la forma más sencilla (especialmente para programas que siguen la filosofía Unix ) es escribir datos en un archivo temporal e informar al programa receptor de la ubicación. del archivo temporal.
Los sistemas operativos y los lenguajes de programación suelen proporcionar funciones para obtener nombres de archivos temporales únicos.
En los sistemas POSIX , los archivos temporales se pueden crear de forma segura con las funciones de biblioteca mkstemp
o . Algunos sistemas proporcionan el antiguo programa POSIX (ahora eliminado) . Estos archivos normalmente se encuentran en el directorio temporal estándar, /tmpen máquinas Unix o %TEMP%(que es específico del inicio de sesión) en máquinas Windows.
Un archivo temporal creado con GetTempFileName(...)
Algunos programas crean archivos temporales y luego los dejan atrás, no los eliminan. Esto puede suceder porque el programa falló o porque el desarrollador del programa simplemente olvidó agregar el código necesario para eliminar los archivos temporales una vez que el programa haya terminado con ellos. Los archivos temporales que quedan pueden acumularse con el tiempo y consumir mucho espacio en disco.
Los archivos temporales se pueden eliminar manualmente. Los sistemas operativos pueden borrar el directorio temporal al reiniciar y pueden tener scripts "más limpios" que eliminan archivos si no se ha accedido a ellos en un cierto período de tiempo. Además, los sistemas de archivos basados en memoria, como tmpfs , inherentemente no conservan los archivos durante el reinicio.