El fichero /proc/meminfo tiene la información sobre la memoria. Sólo tienes que buscar la que te interesa (un parseo muy sencillo).Para el espacio en disco, statvfs() (mira la página del manual).
No me dejan utilizar parseo para obtener los datos, tengo que usar alguna funcion u otra cosa..
Cita de: "Locoarts3113"No me dejan utilizar parseo para obtener los datos, tengo que usar alguna funcion u otra cosa..Como te digo, para el espacio en disco, tienes statvfs. Que yo sepa no hay ninguna llamada al sistema que te devuelva la memoria libre en todo el sistema, así que tendrás que usar otro mecanismo (como mirar en /proc/meminfo, o llamar a utilidades como free o vmstat a través de system() -que al fin y al cabo lo que hacen estas utilidades es mirar en /proc/meminfo-. Y no veo por qué no puedes mirar en /proc/meminfo puesto que para eso está También existen formas más cutres como intentar reservar memoria cada vez más grande hasta que el sistema devuelva error (en un bucle). Esto es una solución muchísimo peor.
Ya te entendí y como te digo que yo sepa, no hay dicha función. Te creas tu función y haces el parseo dentro.Código: Cfuncion_memoria_libre(){ //Mira dentro de /proc/meminfo} Como te digo, que yo sepa Linux (y POSIX) no tienen una llamada de ese tipo. A lo mejor otro te puede ayudar.
system("vmstat 1 2 | sed -n '$ p' | awk '{print $4}'");
llamar a utilidades como free o vmstat a través de system() -que al fin y al cabo lo que hacen estas utilidades es mirar en /proc/meminfo-
Me falta alguna llamada al sistema que me devuelva SOLAMENTE el espacio en disco libre...
Para el espacio en disco, statvfs() (mira la página del manual).
Yo no sé si realmente lees lo que te pongo, así que ésta es la última vez que te respondo:Cita de: "Locoarts3113"system("vmstat 1 2 | sed -n '$ p' | awk '{print $4}'");Cita de: "m0skit0"llamar a utilidades como free o vmstat a través de system() -que al fin y al cabo lo que hacen estas utilidades es mirar en /proc/meminfo-Cita de: "Locoarts3113"Me falta alguna llamada al sistema que me devuelva SOLAMENTE el espacio en disco libre...Cita de: "m0skit0"Para el espacio en disco, statvfs() (mira la página del manual).