versiones pagina oficial núcleo historia descargar caracteristicas linux

pagina - linux versiones



¿Cómo encuentro el directorio ''temp'' en Linux? (5)

En la norma c, podrías intentar: P_tmpdir

¿Cómo encuentro el directorio ''temp'' en Linux? Estoy escribiendo una función C ++ neutral de plataforma que devuelve el directorio temporal. En Mac y Windows, hay una API que devuelve estos resultados. En Linux, estoy perplejo.


Use el valor de la variable de entorno $ TMPDIR, y si eso no existe, use /tmp .


Editar: Punto justo del comentarista. tmpnam no es una buena opción en estos días; use mktemp / mkstemp en mkstemp lugar.

Respuesta histórica: Sea compatible con POSIX y use tmpnam (que le dará un nombre de archivo completo en una ubicación temporal).


Ver las siguientes variables:

Si todo falla, intente utilizar el directorio /tmp .

También puede usar la función tempnam para generar un nombre de archivo temporal único.


La secuencia aceptada, específicamente desde el punto de vista de GNU, es:

  1. Compruebe la variable de entorno TMPDIR ( getenv ("TMPDIR") ) solo si el programa no se está ejecutando como SUID / SGID ( issetugid () == 0 )
  2. De lo contrario, use P_tmpdir si está definido y es válido
  3. y finalmente, si estos fallan, use _PATH_TMP disponible en paths.h

Si está agregando una extensión o módulo, verifique si el núcleo proporciona una función para este fin. Por ejemplo, PHP exporta php_get_temporary_directory () desde main / php_open_temporary_file.h.