Skip to main content

Wie kann ich alle Dienste einer Webware oder ERP-Suite beenden?

Hierfür gibt es die Aufgabevorlagen: "Webware und alle Dienste beenden" und "ERP-Suite und alle Dienste beenden"

image.png

image.png


Beim Erstellen der Aufgabe wird eine entsprechende Konfigurationsdatei im Programmpfad erstellt, welche die zu beendenden Dienste und Prozesse enthält.
Diese Datei kann natürlich einen beliebigen Namen haben und darf auch in einem anderen Pfad liegen (mit Pfadangabe).

Diese Liste enthält alle Dienste und Prozesse, welche beendet werden sollen.
Abgearbeitet wird diese Liste von oben nach unten.

Dienste:
Dienstname oder Prozessname ohne .exe;DIENST;Wartezeit nach dem Beenden;Dienstpfad (aktuell nicht verwendet)

Beispiel:
wws;DIENST;30
WEBWARE WWS-Produktiv22;DIENST;30
Dieser Eintrag beendet den Dienst wws (idealerweise wird hier der Dienstname angegeben!)
und wartet anschließend noch 30 Sekunden, bevor der nächste Dienst beendet wird.

Prozesse:
Prozessname ohne .exe;Programmpfad (optional)
Wenn ein Prozessname ohne Pfad angegeben wird, dann werden ALLE Prozesse im Speicher mit dieser Signatur beendet.
Wichtig: Der Programmpfad wird als Teilstring geprüft und prüft den Pfad von links beginnend!

Beispiel:
wwwin64;X:\ERPSuite --> beendet alle Prozesse auch unter X:\ERPSuite_TEST
wwwin64;X:\ERPSuite\ --> beendet nur Prozesse unter X:\ERPSuite\*... aber auch X:\ERPSuite\TEST1 und X:\ERPSuite\Test2


Wie läuft so ein Beenden ab?
Zuerst wird der Inhalt der WWProzessliste.DAT oder der angegebenen Datei ausgelesen und geprüft.
Hierbei werden die verschiedenen Parameter ausgelesen und die Dienste und Prozesse vom System geprüft, ob diese auch vorhanden sind.
Anschließend wird eine NoLock.ini im Programmpfad der in den globalen Einstellungen hinterlegten ERP-Suite erstellt.
Wenn andere Instanzen in komplett unterschiedlichen Pfaden beendet werden sollen, müsste das Anlegen der INI entweder über eine weitere Aufgabe erfolgen oder in einer Aufgabengruppe ausgeführt werden.
Dann werden alle Dienste nach einander beendet und anschließend geprüft, ob die Prozesse noch im Speicher sind.
Sollte sich ein Prozess nicht beenden lassen, wird anschließend versucht, diesen Prozess über den Kill-Befehl zu beenden.

ACHTUNG: Hierfür darf im Dienst nicht eingestellt sein, dass dieser sich im Fehlerfall neu startet!

Anschließend werden die gefundenen Prozesse beendet.

Hier kann auch zur Sicherheit z. B. als Option auch noch der Prozess "wwr" angegeben werden.

Welche Version wird hier empfohlen/benötigt?
BWScheduler/FlowManger ab Version 5.07

Wie ist ein Prozess anzugeben?
Prozesse müssen immer OHNE die Dateiendung angegeben werden.

Wie sind Dienste anzugeben?
Dienste werden am besten über den Dienstnamen beendet. Somit ist die Instanz immer korrekt zugeordnet.
Alternativ kann auch der Prozessname angegeben werden. z. B. "wwr" oder "wws"
Hierbei wird der ERSTE gefundene Dienst beendet, wo dieser Prozessname zutrifft.

Sind immer alle Parameter in der WW/BWProzesslite.dat anzugeben?
Nein, bei Diensten muss DIENST angegeben werden und bei Prozessen reicht der Prozessname ohne .exe
Das Semikolon ist nur bei angegebenen Parametern erforderlich und kann weggelassen werden.

Wichtig: Der WWS muss immer VOR dem WWR beendet werden!

WWProzessliste.dat
wws;DIENST
SoftENGINE BWMail;DIENST;15;X:\ERPSuite\Produktiv
wws32;DIENST
wws32;DIENST
wws64;DIENST
wws64;DIENST
wwwin32;x:\BWERP.700\
wwwin64
wwin32d
wwin64d
bwwin32
bwwin64
bwwin32d
bwwin64d
wwmail
wwmail64
wwsyssrv
wwdesk
dbgdump
wwdba32
wwdba64
wwdba
wwflwsrv
wwa
wwad
wwsvc32
wwsvc64