La commande * nix lsof
vous donne une liste des fichiers ouverts. Quelqu'un connaît-il un moyen qui indiquerait également depuis combien de temps un fichier particulier a été ouvert? Soit en utilisant lsof
ou toute autre commande. J'utilise CentOS 5.3 et, malheureusement, je ne peux pas installer de référentiels supplémentaires, je devrais donc travailler à partir du référentiel CentOS par défaut.
Merci
lsof
ou l'autre des utilitaires, alors peut-être qu'il y a une solution alternative à votre problème ...strace -e open,close program
ouvalgrind
avec l'--track-fds=yes
option.Réponses:
Si vous avez le pid, vous pouvez directement archiver / proc / $ pid / fd. Il semble que ce soit là que les descripteurs de fichiers sont créés.
Si vous regardez leur date de création avec un simple
ls -lh
, vous pourrez peut-être savoir depuis combien de temps un fichier particulier est ouvert.la source
Une supposition - pas très exacte - pourrait être d'utiliser le pid fourni par
lsof
et d'utiliserps
pour savoir depuis quand le programme qui a ouvert le fichier est en cours d'exécution. Cela ne fonctionne bien sûr que pour les fichiers ouverts au démarrage du programme, pas pour les fichiers ouverts ultérieurement.la source