wie verwenden von linux-software-watchdog
Hallo kann mir jemand sagen, wie man mit den software-watchdog von linux .Ich habe ein Programm "Beispielapplikation", die kontinuierlich ausgeführt werden kann und ich neu starten müssen, falls es nicht reagiert oder unerwartet beendet wird.
War ich googeln über dies und linux gefunden hat, watchdog /dev/watchdog aber nicht wissen, wie es zu benutzen.Könnte mir jemand helfen mit einem Beispiel.
Meine Frage ist, wo ich angeben, mein name der Anwendung und delay-Intervall neu zu starten . Als ich bin neu in linux bitte kurze mich mit der Probe, wenn möglich. Dank
InformationsquelleAutor der Frage Verve Innovation | 2012-01-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meisten Unix - /Linux -
init
Programme verwalten-daemons für Sie und neu starten Sie. Schauen Sie in platzieren Sie Ihren Dienst in/etc/inittab
. Oder Sie könnten mitUpstart
odersystemd
.Alle diese Programme laufen, als
PID 1
und es ist Ihr job, Sie zu überwachen und neu starten, system-Prozesse.Aus Ihrer Busybox-tag würde ich davon ausgehen, Sie laufen ein embedded system. Auf diejenigen, die das System V-style-init-Skripte, die mit allen Ihren shell-Skripten sind wirklich übertrieben. Sie sollten wahrscheinlich rip allen, und ersetzen Sie Sie durch die Einträge in
/etc/inittab
oder upstart oder systemd Arbeitsplätze.InformationsquelleAutor der Antwort Zan Lynx
Da die Moderatoren ignorieren-post-Verbesserungen, jetzt werde ich posten, um es getrennt
Gut, das ist einfach nicht wahr, es ist sehr möglich, starten Sie einzelne oder mehrere Prozesse nach der watchdog-Signale, die Systeme hängen - Sie können sogar brechen Sie den Neustart, oder führen Sie einen SOFT-reboot, man ist in der Lage, konfigurieren Sie die "test" - und "repair"-Skripte /binaries, die tun, was Sie von Ihnen wollen. Die busybox-version von watchdog ist zerlegt-eine nahezu unbrauchbar ... ich denke, die Welt wird nie wissen, warum die busybox-Entwickler beschlossen, aufzugeben, die primären Funktionen - für jetzt, es wäre am besten zu vermeiden, busybox --> die Geschwindigkeit-Verbesserungen sind fast nicht vorhanden, die Größe-Rückgang nicht kompensieren die riesigen Verlust von Funktionalität. /bin/bash ist eher klein - alles neu kompilieren mit dem flag "-Os", wenn Größe zählt und du bist gut zu gehen - eine out-of-the-box-watchdog, die können für so ziemlich alles, was man sich wünschen könnte.
Oh und BITTE NICHT erstellen Sie Ihre eigenen watchdog - das wird wahrscheinlich verlassen Sie mit unbehandelten Fehler und machen Ihr Leben schlecht, eines Tages.
InformationsquelleAutor der Antwort nope
Wie über die Verwendung von cron? Ein kleines cron-job, der jede minute ausgeführt. Prüfen Sie, ob Ihr Antrag ist (mit ps) und wenn nicht, starten Sie es neu.
Einen kleinen script wie diesem:
Du testen, ob "myapp" ist in der Prozess-Liste. "!" kehrt den test um. Wenn es nicht gibt, es läuft "myapp". "&" einfach so ist, dass es im hintergrund gestartet wird.
Fügen Sie diese zu cron. Je nach system und Vorlieben gibt es verschiedene Möglichkeiten, es zu tun. Die klassische Lösung ist die Verwendung von crontab. Es gibt sehr viel Dokumentation dazu, wie Sie Ihre crontab-Zeile, aber Sie wollen wahrscheinlich etwas wie das:
Dies wird führen Sie Ihre test-jede minute-jede Stunde, jeden... you get the idea.
InformationsquelleAutor der Antwort Janne
Verwenden
/etc/inittab
können Sie es verwenden zu beginnen, in der bestimmte Auflagenhöhen und wenn es getötet wird, wird es automatisch neu gestartet werdenDadurch wird es respawn im run-Level 2345 müssen Sie vermutlich nur die 3 und 5, aber dies funktioniert gut und ist integriert in Linux.
InformationsquelleAutor der Antwort darren102
Dokumentation der watchdog ist hier: http://linux.die.net/man/8/watchdog
Aber es klingt wie das ist nicht, was Sie wollen. Die linux-software-watchdog ein Neustart der Maschine ist, und nicht einfach starten Sie Ihren Prozess.
Können Sie leicht Ihre eigenen watchdog. Zum Beispiel könnten Sie haben Ihr Programm in regelmäßigen Abständen schreiben einige temp-Datei, und starten Sie ein Skript, das überprüft, die Datei einmal in eine Weile und startet Ihren Prozess, wenn es noch nicht aktualisiert für einige Zeit.
InformationsquelleAutor der Antwort TJD
Wenn Sie mit systemd gibt es 2 watchdogs: eine für hardware (mit systemd.conf oder mit einem watchdog-daemon) und eine für daemons initialisiert Dienstleistungen.
Wenn systemd ist Ihre Wahl haben Sie einen Blick auf die folgenden:
http://0pointer.de/blog/projects/watchdog.html
InformationsquelleAutor der Antwort fabatera
Wenn jemand kam zu dieser Seite auf der Suche für ein Betriebssystem-watchdog (das ist nicht direkt das, was der OP wollte), das ist, was Sie brauchen:
Prüfen, ob er die arbeiten ausführen:
Sollten Sie etwas wie:
Ich hoffe, dass ich die Beantwortung der Frage richtig. Alle anderen Antworten scheinen sehr unterschiedlich sein.
InformationsquelleAutor der Antwort Sridhar-Sarnobat
Können Sie versuchen, wdog, das ist ein Programm in c++ geschrieben und die Verlinkung gegen die Kahless_9 Rahmen. Der source code kann hier heruntergeladen werden: https://github.com/zepher999/wdog und konsequent aktualisiert, um suite Ihre eigenen Bedürfnisse. Es gibt noch einige TODO-Liste änderungen erforderlich, für die Zukunft aber wie ist das sollte bieten für Ihre aktuellen Anforderungen.
Dem Dienstprogramm erfordert eine csv-Datei als Eingabe, worin alle Prozesse beobachtet werden, die mit Ihren Argumenten enthalten sind. Nach startup, das Programm beginnt alle diese Prozesse bezeichnet, die in der csv-Datei und überwacht Sie für den Austritt/Kündigung, worauf es startet den Prozess.
Derzeit wdog ermöglicht das stoppen/töten von überwachten Prozesse sowie die Fähigkeit zu Start das Dienstprogramm im hot-oder cold-Modus. Hot-Modus ermöglicht es dem Programm, um Cache Datensätze zu überwachen, die bereits begonnen Prozesse während der kalt-Modus, der ab verwirft solche zwischengespeicherten Werte damit den Versuch zu starten alle Prozesse.
Das Dienstprogramm hat auch die Möglichkeit zum starten einer Instanz von sich selbst überwachen sich selbst, wodurch mit einem watchdog der watchdog.
InformationsquelleAutor der Antwort zepher
Können Sie "Monit" - Dienstprogramm zu starten und überwachen Sie Ihre Dienste.
Installieren Sie einfach durch die Ausgabe von Befehl `apt-get install monit".
InformationsquelleAutor der Antwort Akki