Das Skript wird nicht ausgeführt, wenn es als Start-Daemon ausgeführt wird. Es funktioniert gut in der Befehlszeile
416
wimdetr
Ich habe ein Python-Paket installiert, das die Änderungen der Datei bei Änderung ( https://github.com/joh/when-changed ) verfolgt. Nun ist der Befehl, den ich ausführen möchte:
when-changed /var/www/html/php/logfile.csv /var/www/html/php/processpayment.sh
Wenn ich die Datei logfile.csv ändere, wird der Code in processpayment.sh ausgeführt. Wenn ich diesen Befehl jedoch in meine /etc/rc.local -Datei setze und das System neu starte, wird das Skript nicht ausgeführt, wenn ich die Datei ändere! Ich habe 3 Annahmen:
- Das Werkzeug zum Zeitpunkt des Wechsels ist Mist, es funktioniert nicht als Dämon.
- /etc/rc.local ist nicht der Ort, an dem dieser Daemon abgelegt werden kann (ich habe versucht, ihn in /etc/init/whenchanged.conf zu setzen, ohne Erfolg)
- der daemon muss mit pts / o verbunden sein und nicht in?
Als Referenz funktioniert der untere Prozess:
root 1331 0.5 0.4 275480 17376 ? Sl 16:14 0:04 /usr/bin/python /usr/local/bin/when-changed /var/www/html/php/logfile.csv /var/www/html/php/processpayment.sh root 3547 7.0 0.4 267024 16868 pts/1 Sl 16:27 0:00 /usr/bin/python /usr/local/bin/when-changed /var/www/html/php/logfile.csv /var/www/html/php/processpayment.sh
Das Skript:
#!/bin/bash # called when logfile.csv changes # scrapes logfile.csv and runs the mintscript IN=$(cat logfile.csv | tail -n1 | cut -d';' -f4,6 | xargs) arrIN=($) amount=$ address=$ node "soupcoinmintscript.js" $address $amount | tee "log" exit 0;
Die Startkonfiguration:
/etc/init# cat whenchanged.conf start on startup task when-changed /var/www/html/php/logfile.csv /var/www/html/php/processpayment.sh
Welche spezielle Distribution verwendest du? Einige Distributionen haben `init.d 'zugunsten von' systemd 'abgelehnt. Es ist auch nicht so schön zu sagen, dass "wann geändert" Mist ist. Der Entwickler hat es mit einer Reihe von Anforderungen gemacht, und er ist bereit, es mit Ihnen zu teilen (absolut kostenlos). Wenn Sie der Meinung sind, dass dies nicht Ihren Anforderungen entspricht, ändern Sie den Code und senden Sie ihm eine Pull-Anfrage. Wenn Sie das nicht möchten, schreiben Sie Ihren eigenen Code.
mtak vor 7 Jahren
1
@mtak du hast absolut recht, ich war nur ein bisschen frustriert; -). Ich glaube es ist Ubuntu, aber ich werde es bald genauer berichten.
wimdetr vor 7 Jahren
0
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
Wie kann ich eine Verzeichnisstruktur "invertieren"?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem