• Jueves 14 de Noviembre de 2024, 04:31

Autor Tema:  Información fichero Linux  (Leído 1909 veces)

Leber

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Información fichero Linux
« en: Miércoles 21 de Diciembre de 2011, 15:46 »
0
Buenos dias,

Mi pregunta es si hay alguna manera de saber con la API de linux si cierto fichero esta siendo usado por algun proceso ( si esta abierto digamos ).
La funcion stat no sirve, ya que da todos los datos sobre el fichero pero este no, y tampoco quiero hacer una busqueda en /proc/[pids]/[fd] para saber si ahi se encuentra el fichero, ya que perderia mucho tiempo.

Se os ocurre algo?

Gracias



Epa

  • Miembro MUY activo
  • ***
  • Mensajes: 242
  • Nacionalidad: ar
    • Ver Perfil
Re:Información fichero Linux
« Respuesta #1 en: Jueves 22 de Diciembre de 2011, 01:53 »
0
Buenas

con el comando lsof podes listar los procesos que tienen abierto un archivo.
Estube buscando y no encontre una funcion que hago lo mismo, pero con un system lo podes usar.

Citar
lsof nombre_proceso

Saludos
The sweet smell of a great sorrow lies over the land.


su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re:Información fichero Linux
« Respuesta #2 en: Viernes 23 de Diciembre de 2011, 00:49 »
0
Citar
tampoco quiero hacer una busqueda en /proc/[pids]/[fd] para saber si ahi se encuentra el fichero, ya que perderia mucho tiempo.
Hmm... no creo que hacer lo que comentas tome mucho tiempo, y no me sorprenderia si lsof hace justamente eso (realmente no lo se).
En todo caso puedes ver el codigo de lsof que es libre y no esta sujeto a ninguna licencia. La copia de las fuentes que usa Debian las puedes descargar del siguiente link:

Codigo aqui.

Ten en cuenta que es multiplataforma.
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.