Linux: obtenir la liste des fichiers actuellement ouverts par un programme
Sous Linux, comment puis-je obtenir une liste de fichiers actuellement ouverts dans le programme X?
(Plus précisément, je suis sur Fedora, et le programme est Zend Studio, mais je suppose que il n'y a qu'une réponse générale.)
source d'informationauteur Nathan Long
Vous devez vous connecter pour publier un commentaire.
Utiliser, par exemple,
lsof
("liste les fichiers ouverts") et le filtre de sortie, ou d'utiliser le-c programX
option pour le restreindre à des fichiers ouverts par programX. Cette expression peut être un caractère générique.Vous pouvez trouver des liens symboliques vers les fichiers réels dans
/proc/PID/fd
oùPID
est l'ID de processus.ls -l /proc/<zend studio's pid>/fd
imprime une liste de descripteurs de fichiers. Ceux que la carte de fichiers qui ont été ouverts par le biais d'open()
seront des liens symboliques vers le chemin de fichier utilisé pour les ouvrir.Installer le programme
lsof
si vous ne l'avez pas déjà. Obtenir le pid du programme en cours d'exécution. Exécuterlsof -p [pid]
.Ou, pour obtenir le PID d'un seul coup
Ou, encore plus simple
Vous pouvez utiliser
Qui retuns le nombre de fichiers ouverts par le PID
ou vous pouvez utiliser lsof(liste des fichiers ouverts)