Déterminer les fichiers auxquels un processus accède


9

Comment puis-je trouver tous les fichiers auxquels un processus particulier accède?

J'utilise Ubuntu 9.04.

Réponses:


11

lsof répertorie les fichiers ouverts et les ID de processus associés. Il répertorie tout si aucune option n'est donnée.

Il existe une option,, -ppour répertorier les fichiers ouverts pour un seul processus. Ainsi, pour un processus avec PID 6714, cela répertoriera les fichiers ouverts par ce processus:

    lsof -p 6714

Pour lister uniquement les fichiers normaux, grep peut être utilisé pour filtrer la sortie de lsof:

    lsof -p 6714 | grep REG

S'il doit être plus robuste qu'avec grep, l' -Foption peut être utilisée, mais elle devient alors plus complexe. Depuis la page de manuel lsof :

Lorsque l'option -F est spécifiée, lsof produit une sortie qui peut être traitée par un autre programme - par exemple, un script awk ou Perl ou un programme C.

Cela dépend de vos besoins.


1
J'aime ajouter '-b' à lsof, ça ira un peu plus vite. Aussi, j'ajoute 2> / dev / null avant le canal vers grep.
— kbyrd
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.