GNU/Linux >> Tutoriels Linux >  >> Linux

Redémarrer le processus lors du changement de fichier sous Linux

Oui, vous pouvez regarder un répertoire via le inotify système utilisant inotifywait ou inotifywatch depuis les outils inotify.

inotifywait sortira lors de la détection d'un événement. Passer l'option -r pour surveiller les répertoires de manière récursive. Exemple :inotifywait -r mydirectory .

Vous pouvez également spécifier l'événement à surveiller au lieu de regarder tous les événements. Pour attendre uniquement les changements de contenu de fichier ou de répertoire, utilisez l'option -e modify .


Il s'agit d'une amélioration par rapport à la réponse fournie dans la question. Quand on interrompt le script, le processus d'exécution doit être tué.

#!/bin/sh

sigint_handler()
{
  kill $PID
  exit
}

trap sigint_handler SIGINT

while true; do
  [email protected] &
  PID=$!
  inotifywait -e modify -e move -e create -e delete -e attrib -r `pwd`
  kill $PID
done

Linux
  1. Linux - Tout est un fichier ?

  2. Comment redémarrer (ou réinitialiser) un processus en cours d'exécution sous Linux ?

  3. Ubuntu – Linux – Temps de changement de fichier versus temps de modification ?

  4. Changer le nom du processus sous Linux

  5. Changer le premier octet du fichier sous Linux ?

Comment changer la priorité d'un processus sous Linux

Comment changer le fichier journal Sudo par défaut sous Linux

Commande Chmod - Comment modifier les autorisations de fichiers sous Linux

Comment changer la limite de fichiers ouverts sous Linux

Apprendre l'utilisation de la commande chgrp (changer de groupe) sous Linux

Apprendre l'utilisation de la commande chown (changer de propriétaire) sous Linux