GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Prozess bei Dateiänderung in Linux neu starten

Ja, Sie können ein Verzeichnis über notify ansehen System mit inotifywait oder inotifywatch aus den inotify-tools.

inotifywait wird beendet, wenn ein Ereignis erkannt wird. Übergeben Sie Option -r Verzeichnisse rekursiv zu beobachten. Beispiel:inotifywait -r mydirectory .

Sie können auch das zu beobachtende Ereignis angeben, anstatt alle Ereignisse zu beobachten. Um nur auf Änderungen des Datei- oder Verzeichnisinhalts zu warten, verwenden Sie die Option -e modify .


Dies ist eine Verbesserung gegenüber der Antwort in der Frage. Wenn man das Skript unterbricht, sollte der Ausführungsprozess beendet werden.

#!/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. So zeigen oder ändern Sie die ACL in Linux-Dateien

  2. Linux – Alles ist eine Datei?

  3. Wie kann man einen laufenden Prozess unter Linux neu starten (oder zurücksetzen)?

  4. Ubuntu – Linux – Dateiänderungszeit vs. Änderungszeit?

  5. 5 Beispiele für Linux-Touch-Befehle (So ändern Sie den Dateizeitstempel)

So ändern Sie die Priorität eines Prozesses in Linux

So ändern Sie die Standard-Sudo-Protokolldatei in Linux

Chmod-Befehl – ​​So ändern Sie Dateiberechtigungen in Linux

So ändern Sie das Limit für offene Dateien in Linux

Lernen Sie die Verwendung des Befehls chgrp (Change Group) in Linux

Erfahren Sie, wie Sie den Befehl chown (Eigentum ändern) unter Linux verwenden