Les fichiers ouverts par le processus XYZ peuvent être trouvés avec la commande
ls -l /proc/PID/fd
Existe-t-il de toute façon une méthode plus interactive comme tail
l'actualisation automatique toutes les x secondes?
Les fichiers ouverts par le processus XYZ peuvent être trouvés avec la commande
ls -l /proc/PID/fd
Existe-t-il de toute façon une méthode plus interactive comme tail
l'actualisation automatique toutes les x secondes?
Essayez la watch
commande:
watch -n 10 ls -l /proc/$$/fd
La montre est belle.
Vous pouvez utiliser une boucle old school while:
while :
do
ls -l /proc/$$/fd
sleep 10
done
watch
est dans le paquet procps sur les systèmes basés sur Debian et le rpm procps sur les systèmes dérivés de RedHat.
Si vous souhaitez voir chaque fichier lors de son ouverture, vous pouvez le filtrer avec
strace
. Par exemple:la source
-y
et-f
si vous essayez de déboguer quelque chose qui s'exécute dans un shell. Il suffit de passer le shell PID et-f
suivra toutes les fourches.Vous pouvez combiner
lsof
etwatch
.Par exemple
watch "lsof -p 1234"
, vous donnera une liste de tous les fichiers ouverts de pid 1234 toutes les 2 secondes. Vous pouvez modifier certains paramètres pour répondre à vos besoins.la source
-r
option pourlsof
. Par conséquent, j'avais l'habitudewatch
d'exécuterlsof
toutes les deux secondes.J'ai créé un fichier bash où j'écrivais la sortie de la commande dans un fichier. Le fichier a été généré à la date actuelle de base. Ici, je compte le nombre de fichiers ouverts.
la source