GNU/Linux >> Tutoriels Linux >  >> Linux

Comment déterminer quel processus crée un fichier ? ?

Cette question a déjà des réponses ici :Est-il possible de savoir quel programme ou script a créé un fichier donné ?

(6 réponses)
Fermé il y a 4 ans.

Étant donné le chemin du fichier, comment puis-je déterminer quel processus le crée (et/ou lit/écrit dessus) ?

Réponse acceptée :

Le lsof La commande (déjà mentionnée dans plusieurs réponses) vous indiquera quel processus a un fichier ouvert au moment où vous l'exécutez. lsof est disponible pour à peu près toutes les variantes Unix.

lsof /path/to/file

lsof ne vous parlera pas des fichiers qui ont été ouverts il y a deux microsecondes et fermés il y a une microseconde. Si vous avez besoin de surveiller un fichier particulier et de réagir lorsqu'il est consulté, vous avez besoin d'outils différents.

Si vous pouvez planifier un peu à l'avance, vous pouvez mettre le fichier sur un LoggedFS système de fichiers. LoggedFS est un système de fichiers empilé FUSE qui enregistre tous les accès aux fichiers dans une hiérarchie. Les paramètres de journalisation sont hautement configurables. FUSE est disponible sur tous les principaux Unices. Vous voudrez enregistrer les accès au répertoire où le fichier est créé. Commencez avec l'exemple de fichier de configuration fourni et modifiez-le conformément à ce guide.

loggedfs -l /path/to/log_file -c /path/to/config.xml /path/to/directory
tail -f /path/to/log_file

De nombreux centres proposent d'autres fonctions de surveillance. Sous Linux, vous pouvez utiliser le sous-système d'audit relativement nouveau. Il n'y a pas beaucoup de littérature à ce sujet (mais plus que sur logfs); vous pouvez commencer avec ce tutoriel ou quelques exemples ou simplement avec le auditctl page de manuel. Ici, cela devrait suffire à s'assurer que le démon est démarré, puis exécutez auditctl :

auditctl -w /path/to/file

(Je pense que les anciens systèmes ont besoin de auditctl -a exit,always -w /path/to/file ) et regardez les journaux dans /var/log/audit/audit.log .


Linux
  1. Comment déterminer quel processus écrit sur le disque sous Linux

  2. Comment rediriger la sortie d'un processus déjà en cours d'exécution

  3. Comment déterminer si un processus s'exécute dans lxc/Docker ?

  4. Comment grep \n dans le fichier

  5. Comment savoir quel processus utilise un fichier sous Linux ?

Commande de fichier Linux :comment déterminer le type de fichier sous Linux

Comment déterminer le type MIME d'un fichier sous Linux

Comment supprimer un fichier dont le nom de fichier contient des caractères non imprimables ?

Linux - Comment déterminer quel module corrompt le noyau ?

Comment utiliser la commande lsof sous Linux

Déterminez si le fichier est en cours d'écriture ?