GNU/Linux >> Tutoriels Linux >  >> Linux

Lister les fichiers accessibles par un programme ?

time est une commande géniale si vous voulez savoir combien de temps CPU prend une commande donnée.

Je recherche quelque chose de similaire qui puisse répertorier les fichiers auxquels un programme et ses enfants accèdent. Soit en temps réel, soit sous forme de rapport par la suite.

Actuellement j'utilise :

#!/bin/bash

strace -ff -e trace=file "[email protected]" 2>&1 | perl -ne 's/^[^"]+"(([^\"]|\[\"nt])*)".*/$1/ && print'

mais cela échoue si la commande à exécuter implique sudo . Ce n'est pas très intelligent (ce serait bien s'il ne pouvait lister que les fichiers existants ou qui avaient des problèmes de permission ou les regrouper en fichiers lus et en fichiers écrits). Aussi strace est lent, donc ce serait bien avec un choix plus rapide.

Réponse acceptée :

J'ai abandonné et j'ai codé mon propre outil. Pour citer ses documents :

SYNOPSIS
    tracefile [-adefnu] command
    tracefile [-adefnu] -p pid

OPTIONS
    -a        List all files
    -d        List only dirs
    -e        List only existing files
    -f        List only files
    -n        List only non-existing files
    -p pid    Trace process id
    -u        List only files once

Il ne produit que les fichiers, vous n'avez donc pas besoin de gérer la sortie de strace .

https://gitlab.com/ole.tange/tangetools/tree/master/tracefile


Linux
  1. Lister les fichiers triés numériquement ?

  2. La fête ?

  3. Quelle commande est utilisée pour trier la liste des fichiers/dossiers par heure ?

  4. nm :Commande pour lister les symboles dans les fichiers objets.

  5. Comment lister (ls) les 5 derniers fichiers modifiés dans un répertoire ?

Copier des fichiers dans le terminal Linux

Déplacer des fichiers dans le terminal Linux

Comment rechercher et répertorier récursivement les fichiers par date sous Linux

Comment lister les membres d'un groupe sous Linux

Définition de la variable TEXINPUTS

Est-il possible de lister les fichiers mis en cache ?