Ich muss einen bestimmten Befehl in einem Intervall von ca. 5 Sekunden aufrufen. Wie würde ich einen Daemon / Prozess einrichten, der im Hintergrund läuft, oder so ähnlich? Ich habe mir Cronjobs angesehen, aber das Mindestintervall scheint 1 Minute zu betragen. Jeder Rat wird geschätzt;)
Fedora ist das System.
EDIT der befehl wäre ein bashscript, also würde "watch" es meiner meinung nach nicht tun.
command-line
Hans
quelle
quelle
disown
entfernt den letzten Job aus der Shell-Job-Tabelle, wodurch er wie ein Daemon aussieht, wie Sie es gefragt haben. Es ist kein echter Daemon, da es immer noch mit dem Terminal verbunden ist und sich in derselben Prozessgruppe befindet, aber nach dem Schließen der Shell weiter ausgeführt wird.Warum denkst du, wird 'Uhr' nicht funktionieren?
quelle
nohup watch -n 5 ./periodic.sh > periodic.log &
die Ausgabe verwenden und speichern.Vielleicht mit nohup? Es ist so konzipiert, dass ein Job ausgeführt wird, nachdem die Shell geschlossen wurde.
Sie können auch Bildschirme verwenden.
quelle
Der
watch
Befehl ist in Ihrem Fall angemessen. Ich würde einen Terminal-Multiplexer (z. B. tmux, screen usw.) verwenden und dann den Befehl mit ausführenIn diesem Fall würde das Skript auch dann ausgeführt, wenn Sie die Terminal- oder SSH-Verbindung zum Computer beenden.
Die einzige Einschränkung dieses Ansatzes besteht darin, dass das Skript nur dann alle 5 Sekunden ausgeführt wird, wenn die Ausführung innerhalb dieses Zeitintervalls abgeschlossen wurde.
quelle
watch
Erklären Sie bitte, warum Ihre Antwort diese Einschränkung überwindet, oder an welchem Punkt Ihrer Meinung nach das OPwatch
für die Aufgabe nicht geeignet war, da das OP ausdrücklich darauf hingewiesen hat, dass es dies nicht tun würde .