Es gibt eine Stub-Anwendung, die in C geschrieben ist. Nun möchte ich diese Anwendung regelmäßig ausführen, beispielsweise täglich um 11:30 Uhr. Ich dachte daran, diecronProzess, aber ich weiß nicht, wie ich das machen soll. Bitte helfen Sie.
Außerdem möchte ich diecronum regelmäßig zu überprüfen, ob die Anwendung normal läuft oder nicht. Wenn die Anwendung abstürzt oder hängt,cronsollte in der Lage sein, die Anwendung innerhalb einer bestimmten Zeitspanne neu zu starten.
Antwort1
Cron dient zum Ausführen geplanter Aufgaben in geplanten Intervallen und nicht zum Überwachen anderer Prozesse.
Sie haben folgende Möglichkeiten:
verwenden Sie etwas anderes, beispielsweise das Init-Skriptsystem Ihres Host-Betriebssystems, möglicherweise mit einem benutzerdefinierten Job,
inittab
der sich selbst neu startet, wenn er abstürzt.oder hacken Sie etwas in Form eines Shell-Skripts zusammen, das in regelmäßigen Abständen gestartet wird und
cron
Ihr Daemon-Skript mithilfe einer Reihe von vordefinierten Prüfungen überprüft, um festzustellen, ob es ordnungsgemäß ausgeführt wird oder nicht. Wenn dies nicht der Fall ist, wird es anschließend bereinigt und anschließend neu gestartet.
Antwort2
Sie können einfach einen Eintrag in Ihrer Crontab-Datei vornehmen
$ crontab -e
Ende dann Ihre Eingabe nachhttp://www.manpagez.com/man/5/crontab/
[email protected]
30 11 * * * /path/to/your/command
Mit dem MAILTO
Eintrag erhalten Sie eine E-Mail, wenn der Befehl eine Ausgabe auf STDERR erzeugt
Schwieriger ist es zu prüfen, ob der Prozess hängt: Sie sollten definieren, was Sie mit Hängen meinen: Läuft er länger als eine bestimmte Zeit? Führt er zu erkennbarem Verhalten?
Sie können zu einem späteren Zeitpunkt jederzeit einen zweiten Prozess oder ein zweites Skript ausführen lassen, um zu prüfen, ob der Prozess noch ausgeführt wird, und entsprechende Maßnahmen zu ergreifen.
Antwort3
Cronitor (https://cronitor.io) war ein Tool, das ich genau zu diesem Zweck entwickelt habe. Im Grunde handelt es sich dabei um ein Tracking-Beacon, das HTTP-Anfragen verwendet, um den Beginn und das Ende eines Cron-Jobs/einer geplanten Aufgabe aufzuzeichnen.
Einer der Vorteile von Cronitor ist, dass Sie die Tracking-Anfragen flexibel skripten können und sogar Anrufe tätigen können, die Fehler sofort melden. Mit dieser Flexibilität könnten Sie möglicherweise einen Wrapper für Ihre Anwendung schreiben, der Fehler meldetUndVersuchen Sie, das Skript neu zu starten, wenn Fehler auftreten.