Je connais le descripteur de fichier d'un fichier ouvert par un processus, mais je ne connais pas l'ID du processus. Comment puis-je imprimer les noms de fichier à partir de l'invite de commande Linux si je connais le descripteur de fichier d'un fichier ouvert par un processus?
linux
command-line
linux-mint
lsof
techfun
la source
la source
Réponses:
Si vous ne connaissez pas l'ID de processus, vous devrez vérifier tous les processus ayant le même fichier ouvert fd #, car les descripteurs de fichier ne sont pas globalement uniques. Plus le nombre fd # est petit, plus le nombre de processus ouverts sera important (par exemple, sur mon système, même si le nombre fd # est autour de 30, je devrais encore deviner entre 15 processus, et si je cherchais fd # autour de 10, alors la liste aurait ~ 170 processus).
Le système de fichiers proc affiche les descripteurs de fichier sous forme de liens symboliques sous .
/proc/<pid>/fd
Par exemple, pour rechercher le numéro 5 dans tous les processus:
L'interface exacte pour résoudre les cibles de liens symboliques est
readlink()
:la source
De la page de manuel lsof :
Voir aussi ce tutoriel sur
lsof
ANS ces conseils sur lalsof
la source
lsof
incantation qui listerait un fd # spécifique dans tous les processus, mais je n'ai aucune idée de ce à quoi il ressemble.