¿Existe una función (o interfaz; ioctl, netlink, etc.) en las librerías de Linux estándar que devolverán los montajes actuales directamente desde el kernel sin analizar/proc? strace
Al comando mount, parece que analiza los archivos en/procFunción Linux para obtener puntos de montaje
Respuesta
No hay una llamada para listar esta información; en su lugar, puede encontrarlo en el archivo /etc/mtab
mtab es solo un enlace simbólico a/proc/se monta en la mayoría de los sistemas. – tMC
enlace simbólico o enlace directo? Recuerdo que en los viejos tiempos mtab no era confiable ... –
@tMC: '/ proc/mounts' es un detalle de implementación. '/ etc/mtab' es un archivo estándar que encontrará en casi cualquier sistema tipo Unix. No revisé, pero creo que es parte del estándar. Entonces puedes confiar en eso. Y no diría "en la mayoría del sistema". En mis sistemas Ubuntu y OpenSuSE, es un archivo simple. Tengo '/ proc/mounts' pero es un enlace :-) –
¿Hay alguna razón para que no use la llamada a la biblioteca libc getmntent
? Me doy cuenta de que no es lo mismo que una llamada al sistema 'todo en uno', pero debería permitirle obtener la información relevante.
#include <stdio.h>
#include <stdlib.h>
#include <mntent.h>
int main(void)
{
struct mntent *ent;
FILE *aFile;
aFile = setmntent("/proc/mounts", "r");
if (aFile == NULL) {
perror("setmntent");
exit(1);
}
while (NULL != (ent = getmntent(aFile))) {
printf("%s %s\n", ent->mnt_fsname, ent->mnt_dir);
}
endmntent(aFile);
}
Tengo un sistema integrado que podría haber utilizado esta información durante el arranque; before/proc fue montado. – tMC
Tanto 'df' como' mount' usan '/ proc/self/mountinfo' en lugar de'/proc/mounts', pero el resultado es el mismo. –
Ten en cuenta que 'getmntent' no es seguro para subprocesos. Hay 'getmntent_r' (extensión GNU). –
- 1. Divisiones de montaje y puntos flotantes
- 2. Detención y montaje en línea de GCC (Linux)
- 3. Detectar enlaces simbólicos, puntos de unión y puntos de montaje de enlaces físicos
- 4. Obtener puntos de ramificación de la ecuación
- 5. montaje sin -o loop
- 6. C API para obtener carga de la CPU en Linux
- 7. montaje LLVM: llamar a una función utilizando varargs
- 8. ¿Cómo evito que os.walk de Python camine por puntos de montaje?
- 9. VISIBLOX, WPF: ¿Cómo obtener puntos de gráfico para desplazarse horizontalmente?
- 10. Obtenga las unidades de disco físicas correspondientes de los puntos de montaje con consultas WMI?
- 11. ¿Alguien trabaja con Puntos de función?
- 12. curva logarítmica de montaje en R
- 13. SPARC Tutorial de montaje
- 14. montaje destacando
- 15. ¿por qué vs C++ 2010 compilador producir un código de montaje diferente para función similar
- 16. ¿Cómo obtener la versión de montaje (no la versión de archivo) para otro EXE?
- 17. Obtener lista de puntos WiFi disponibles
- 18. Solución de retroceso para ejercicio de programación (montaje de tuberías)
- 19. montaje LLVM: asigno constante entera para registrar
- 20. ¿Cómo usar OpenStreetMap para obtener distancia entre dos puntos?
- 21. No se pueden obtener puntos suspensivos para trabajar en Android
- 22. ¿Cómo obtener libcap (biblioteca de capacidades de Linux) para Android?
- 23. ¿Es posible la función "intrínseca personalizada" para x64 en lugar del montaje en línea?
- 24. loopback montaje de particiones individuales desde un archivo que contiene una tabla de particiones en linux
- 25. GAC y versiones de montaje
- 26. ¿Cómo encontrar el montaje/partición de un directorio o archivo está activado? (Servidor Linux)
- 27. ¿Hay una función en java para obtener una media móvil?
- 28. Depuración de carga montaje tema
- 29. Delphi + conjunto de montaje acceso
- 30. x86 Montaje: antes de realizar una llamada al sistema en Linux ¿Debería guardar todos los registros?
http://stackoverflow.com/questions/5095976/mount-system-call – Satish
@Satish que se monta un filesystem- no vuelve mounts_ _current – tMC
¿Por qué quiere evitar '/ proc /'? ? en Linux, ¡es la forma preferida de recuperar dicha información! ¡Y es muy simple también! –