Watchdog für Yacy (Java) auf Windows 7?
Guten Abend in die Runde.
Ich tüftel grad an einem "Watchdog" für ein unter Java laufendes Programm namens Yacy (Suchmaschine yacy.net).
Yacy läuft aus Gründen nicht als Dienst, sondern wird manuell gestartet per Verknüpfung C:\Users\xyz\YaCy\startYACY.bat.
Leider wird öfter mal nach nicht reproduzierter Zeit (5-40 Stunden?) die http-Ausgabe von Yacy unheimlich laaaaaaaangsam.
Wenn das passiert, dann soll
1) Yacy heruntergefahren werden,
2) gewartet werden
3) der Java-Prozess für alle Fälle gecancelt werden
4) neu gestartet werden.
Hier der Ablaufplan:
--Anfang----
läuft C:\Program Files\Java\jre1.8.0_31\bin\javaw.exe ?
wenn nein: Ende
wird Ausgabe auf http://localhost:8090/ innerhalb von 20 sekunden vollständig geladen?
wenn ja: Ende
wenn nein: C:\Users\xyz\YaCy\stopYACY.bat
Warte 180 Sekunden
kille (zur sicherheit) Prozess (der eigentlich jetzt nicht mehr laufen sollte): C:\Program Files\Java\jre1.8.0_31\bin\javaw.exe
Warte 10 Sekunden
Starte C:\Users\xyz\YaCy\startYACY.bat
--Schluss----
Wie kann ich das unter Verwendung der Aufgabenverwaltung und mit einfacher Kommandozeilen-Befehle (nicht powershell wenns geht) lösen? Übrigens ist wget auf dem Rechner drauf, falls das hilfreich ist.
Freue mich auf Hinweise von Euch.
Schönen Abend
Jörg
Ich tüftel grad an einem "Watchdog" für ein unter Java laufendes Programm namens Yacy (Suchmaschine yacy.net).
Yacy läuft aus Gründen nicht als Dienst, sondern wird manuell gestartet per Verknüpfung C:\Users\xyz\YaCy\startYACY.bat.
Leider wird öfter mal nach nicht reproduzierter Zeit (5-40 Stunden?) die http-Ausgabe von Yacy unheimlich laaaaaaaangsam.
Wenn das passiert, dann soll
1) Yacy heruntergefahren werden,
2) gewartet werden
3) der Java-Prozess für alle Fälle gecancelt werden
4) neu gestartet werden.
Hier der Ablaufplan:
--Anfang----
läuft C:\Program Files\Java\jre1.8.0_31\bin\javaw.exe ?
wenn nein: Ende
wird Ausgabe auf http://localhost:8090/ innerhalb von 20 sekunden vollständig geladen?
wenn ja: Ende
wenn nein: C:\Users\xyz\YaCy\stopYACY.bat
Warte 180 Sekunden
kille (zur sicherheit) Prozess (der eigentlich jetzt nicht mehr laufen sollte): C:\Program Files\Java\jre1.8.0_31\bin\javaw.exe
Warte 10 Sekunden
Starte C:\Users\xyz\YaCy\startYACY.bat
--Schluss----
Wie kann ich das unter Verwendung der Aufgabenverwaltung und mit einfacher Kommandozeilen-Befehle (nicht powershell wenns geht) lösen? Übrigens ist wget auf dem Rechner drauf, falls das hilfreich ist.
Freue mich auf Hinweise von Euch.
Schönen Abend
Jörg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 272119
Url: https://administrator.de/forum/watchdog-fuer-yacy-java-auf-windows-7-272119.html
Ausgedruckt am: 11.05.2025 um 23:05 Uhr
4 Kommentare
Neuester Kommentar

Moin Jörg.
? Hat aus meiner Sicht nur Vorteile, vor allem weil sich so gut wie alles ohne zusätzliche Tools damit umsetzen lässt, und das Script lässt sich auch komplett in der Aufgabenplanung unterbringen :-P
In der jeweiligen Aktion unter "Programm/Script" trägt man dann powershell.exe ein und unter "Argumente hinzufügen (optional)" trägt man dann folgendes ein:
Feddich ist die Kiste.
Gruß jodel32
(nicht powershell wenns geht)
Wieso nich In der jeweiligen Aktion unter "Programm/Script" trägt man dann powershell.exe ein und unter "Argumente hinzufügen (optional)" trägt man dann folgendes ein:
-ExecutionPolicy ByPass -Command "&{$process = 'javaw';if (get-process $process -EA SilentlyContinue){$start = get-date;(new-Object System.Net.WebClient).DownloadData('http://localhost:8090')|out-null;if(((get-date) - $start).TotalSeconds -gt 20){start-process 'C:\Users\xyz\YaCy\stopYACY.bat';Wait-Process $process -Timeout 180 -EA SilentlyContinue;Get-Process $process -EA SilentlyContinue | kill -Force;start-process 'C:\Users\xyz\YaCy\startYACY.bat';}else{return 0}}else{return 0}}"
Gruß jodel32