Ich habe eine Serveranwendung, die ich ausführen möchte, wenn der Computer ausgeführt wird, und normalerweise ist dies der Fall, außer manchmal finde ich, dass sie von selbst geschlossen wurde.
Gibt es eine Fledermaus oder ein Skript, das ich ausführen kann, um die Anwendung zu überwachen und neu zu starten, falls sie geschlossen wird?
Antworten:
Dies funktioniert nicht immer (es hängt davon ab, wie das Programm sich selbst lädt), aber normalerweise können Sie eine Batchdatei wie folgt erstellen:
Ich habe Notepad als Beispiel verwendet.
Die Linien
Dies ist nur eine Verzögerung (von 10 Sekunden), um dem Benutzer die Möglichkeit zu geben, den Vorgang abzubrechen, bevor er erneut gestartet wird.
Die Linie
wird nicht benötigt, protokolliert jedoch jedes Mal, wenn das Programm in einer Datei geschlossen wurde. Daher kann es hilfreich sein, das Problem zu diagnostizieren. Der ErrorLevel sagt möglicherweise nicht viel aus, aber ein Programm soll 0 zurückgeben, wenn es normal geschlossen wird, und ein Non -zero Nachricht, wenn dies nicht der Fall ist
Hinweis: Sie erwähnen, dass Ihr Programm nichts tut, wenn es bereits ausgeführt wird. Das bedeutet normalerweise, dass die Anwendung gestartet wird, erkennt, dass bereits eine andere Kopie ausgeführt wird, und sofort heruntergefahren wird. Wenn dies der Fall ist und Ihr Programm vor dem Start dieser Batchdatei ausgeführt wird, wird der Batch alle zehn Sekunden wiederholt und versucht, Ihr Programm zu starten.
quelle
Basierend auf Ihren obigen Antworten schlage ich vor, dass Sie diesen Befehl in eine Batch-Datei einfügen und diese Batch-Datei dann so einstellen, dass sie jede Minute als geplante Aufgabe ausgeführt wird. Damit ist praktisch kein Overhead verbunden, und es wird sichergestellt, dass Ihr Prozess angegeben wird, unabhängig davon, ob Sie in der Nähe sind, um überhaupt zu erkennen, dass er gestoppt wurde.
quelle
Ich denke, die richtige Antwort auf diese Frage hängt davon ab, warum Sie es tun möchten. Versuchen Sie, ein versehentliches Herunterfahren zu beheben? Verhindern Sie ein gelegentliches "böswilliges" Herunterfahren durch Benutzer der Maschine (z. B. Mitarbeiter, die Überwachungssoftware schließen)? Schwere und geschickte böswillige Angriffe verhindern? Versuchen Sie selbst Malware zu schreiben (in diesem Fall bitte abhauen ;-))?
Wie andere Kommentatoren bereits erwähnt haben, würde es auch anders aussehen, wenn Sie einen Windows-Dienst geschrieben hätten (zum Beispiel).
Persönlich würde ich wahrscheinlich damit beginnen, eine zweite Bewerbung zu schreiben und sie auf die gleiche Weise zu starten. Lassen Sie beide Anwendungen regelmäßig nacheinander suchen und bei Bedarf neu starten. Stellen Sie jedoch sicher, dass die Anwendung auf einfache Weise ordnungsgemäß geschlossen werden kann.
Das heißt, und angesichts Ihres Kommentars "Manchmal finde ich, dass es von selbst geschlossen ist" würde ich WIRKLICH damit beginnen, herauszufinden, warum es geschlossen ist ...
quelle
Sie können ein Programm namens ReStartMe 2.0 [ Mirror ] verwenden, das genau das tut:
Überwacht Prozesse und startet sie neu, wenn sie geschlossen werden.
quelle
das ist viel besser! Dies ist ein Code, den ich für einen Minetest-Spieleserver verwendet habe, der in einer .bat-Datei gespeichert werden sollte
quelle