Woher weiß man, welche Datei oder welcher Inode eine systemd.path-Unit ausgelöst hat?
Systemd bietet Unit - Dateien, die inotify Überwachung eines bestimmten Weg Trog steuern: systemd.path(5)
. Wenn eine Datei oder ein Verzeichnis im überwachten Pfad geändert wird, wird das entsprechende systemd.service(5)
Objekt aufgerufen.
Laut der inotify(7)
Manpage:
Um festzustellen, welche Ereignisse aufgetreten sind, liest (2) eine Anwendung den inotify-Dateideskriptor. Wenn bisher keine Ereignisse aufgetreten sind, wird read (2) unter der Annahme eines blockierenden Dateideskriptors so lange blockiert, bis mindestens ein Ereignis eintritt (es sei denn, es wird durch ein Signal unterbrochen. In diesem Fall schlägt der Aufruf mit dem Fehler EINTR fehl, siehe Signal (7 )).
Jedes erfolgreiche Lesen (2) gibt einen Puffer zurück, der eine oder mehrere der folgenden Strukturen enthält:
struct inotify_event { int wd; /* Watch descriptor */ uint32_t mask; /* Mask of events */ uint32_t cookie; /* Unique cookie associating related events (for rename(2)) */ uint32_t len; /* Size of name field */ char name[]; /* Optional null-terminated name */ };
Wenn systemd eine Änderung im überwachten Pfad sieht, gibt es eine Möglichkeit, Daten aus dem read(2)
Befehl zu erhalten? Insbesondere brauche name[]
ich das als Argument für den Befehl ExecStart=
in der systemd.service(5)
unit-Anweisung.
[Service] ExecStart=/usr/bin/command --file=$inotifyName
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4