Un archivo temporal es un archivo creado para almacenar información temporalmente, ya sea para uso intermedio de un programa o para transferirla a un archivo permanente cuando se complete. [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 en datos más grandes que el espacio de direcciones de la arquitectura o como una forma primitiva de comunicación entre procesos .
Los sistemas operativos modernos emplean memoria virtual , sin embargo, los programas que utilizan grandes cantidades de datos (por ejemplo, edición de video ) pueden necesitar crear archivos temporales.
La mayoría de los sistemas operativos ofrecen primitivas como tuberías , 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 normalmente proporcionan 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 se encuentran normalmente 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, no los eliminan. Esto puede suceder porque el programa falló o el desarrollador del programa simplemente olvidó agregar el código necesario para eliminar los archivos temporales una vez que el programa terminó de usarlos. Los archivos temporales que quedan pueden acumularse con el tiempo y consumir una gran cantidad de espacio en el disco.
Los archivos temporales se pueden eliminar manualmente. Los sistemas operativos pueden vaciar el directorio temporal al reiniciar y pueden tener scripts "más limpios" que eliminen archivos si no se ha accedido a ellos en un período de tiempo determinado. Además, los sistemas de archivos basados en memoria, como tmpfs , no conservan los archivos después de reiniciar.