bash: contrôle quels fichiers sont utilisés par un processus en temps réel


0

Existe-t-il une commande permettant de suivre en temps réel quels fichiers sont ouverts / fermés / écrits par programme avec un PID donné?

Je veux:

  1. exécuter un programme,
  2. activer la surveillance des opérations du fichier programme,
  3. faire des trucs dans le programme,
  4. Vérifiez quels fichiers ont été modifiés à temps lorsque j'ai fait des choses.

J'ai besoin de quelque chose comme Lsof, mais cela devrait être l'ajout d'informations sur les opérations en temps réel.


3
Avez-vous considéré strace? Cela vous donnerait toute cette information.
John1024

John: oui, mais strace est un outil très complexe et je ne sais pas vraiment comment extraire les données dont j'ai besoin.
Jezor

1
Je suis d'accord avec vous que la sortie de strace est laid mais strace est facile à exécuter et la sortie n’est pas si difficile à interpréter. Par exemple, quand une ligne commence par open(, alors un fichier est ouvert, quand une ligne commence par write(, un fichier est en cours d’écriture. Cliquez ici pour un exemple de sortie strace. Je comprends cependant si vous espérez trouver un outil plus convivial et plus convivial.
John1024

1
Si vous examinez les options de ligne de commande pour strace, vous verrez que vous pouvez limiter sa sortie; par exemple, uniquement pour les opérations liées aux E / S.
Scott

J'ai finalement trouvé une solution meilleure que strace (dans mon cas): github.com/ole-tange/tangetools/blob/master/tracefile/tracefile
Jezor
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.