Ich habe ein mutithreaded Java-Programm, das eine OpenSource-Bibliothek verwendet, und diese Bibliothek hat einige Fehler, die einen Deadlock verursachen. Ich habe den Fehler gemeldet, aber es wird einige Zeit dauern, bis er behoben ist. Ich müsste dieses Programm weiterhin verwenden und solange es funktioniert startet alle 2-3 Stunden neu, es wird den Job für mich erledigen. Gibt es eine Möglichkeit, das Programm alle x Minuten neu zu starten?
10
Antworten:
Sie können versuchen, in Ihrem
crontab
:dann
Der
crontab
Befehl bedeutet:quelle
service <appname> restart > /dev/null 2>&1
zu den gewünschten Zeiten ausgeführt.Ich empfehle Ihnen, Supervisor für Ihre Aufgabe zu konfigurieren . Es kann den Prozess überwachen, neu starten, wenn er fehlschlägt, bietet auch eine Umleitung der Ausgabe und andere nützliche Funktionen. Im Beispiel finden Sie Informationen zum Starten des Programms .
quelle
crontab
(obwohl beide Lösungen gut funktionieren). Ich finde jedoch, dass Supervisor besser konfigurieren kann, welche Signale wann gesendet werdenSIGTERM
sollen (dh wann gesendet werden soll und wie lange vor dem Senden gewartet werdenSIGKILL
muss usw.).