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.

juan2raid
la source

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.

Peter Mortensen
la source
1
J'aime ajouter '-b' à lsof, ça ira un peu plus vite. Aussi, j'ajoute 2> / dev / null avant le canal vers grep.
kbyrd