Tool zur Systemüberwachung
Hallo mitnander,
ich suche ein Tool, dass beim Hängenbleiben einer Anwendung oder anderen Fehlern entweder eine Datei ausführt (z.B. Batch) oder eine E-Mail versendet.
Wir haben eine Tankstellensoftware die sich ab und an aufhängt.
Hat jemand eine Idee?
Grüße
Thomi
ich suche ein Tool, dass beim Hängenbleiben einer Anwendung oder anderen Fehlern entweder eine Datei ausführt (z.B. Batch) oder eine E-Mail versendet.
Wir haben eine Tankstellensoftware die sich ab und an aufhängt.
Hat jemand eine Idee?
Grüße
Thomi
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 62162
Url: https://administrator.de/contentid/62162
Ausgedruckt am: 25.11.2024 um 09:11 Uhr
4 Kommentare
Neuester Kommentar
Da würde ich dir ein VBS Script empfehlen was alle 10 bis 20 Sekunden nach hängenden Prozessen sucht. Ich kenne mich mit VBS nicht aus aber aus einem Buch kann ich dir ein Script das hängende Prozesse nach einer Rückfrage beendet.
Hier ist ein Code zum Beenden (Du müsstest die Software dann neu starten)
[Beginn Prozesskiller.vbs]
wmitxt = "winmgmts:{impersonationLevel=impersonate}"
Set wmi = GetObject(wmitxt)
liste = "Idle,_Total,wmiprvse"
cpumax = 95
timeout = 1000
Do
For Each proz In wmi.ExecQuery("SELECT * FROM " &_
"Win32_PerfFormattedData_PerfProc_Process")
If Instr(liste,proz.Name) = 0 Then
If CInt(proz.PercentProcessorTime) > CInt(cpumax) Then
killprozess(proz)
End If
End If
Next
WScript.Sleep 10000 '(10 Sekunden)
Loop
Sub killprozess(objproz)
WScript.Sleep timeout
If CInt(objproz.PercentProcessorTime) > CInt(cpumax) Then
antwort = MsgBox(objproz.Name & " scheint zu hängen" &_
vbCR & "Soll der Prozess beendet werden?",3,"Zombiekiller")
End If
If antwort = 6 Then
For Each proz In wmi.ExecQuery("SELECT *" &_
" FROM Win32_Process")
If proz.ProcessID = objproz.IDProcess Then
proz.Terminate(0)
End If
Next
End If
If antwort = 2 Then WScript.Quit
End Sub
[Ende Prozesskiller.vbs]
jakicoll
Hier ist ein Code zum Beenden (Du müsstest die Software dann neu starten)
[Beginn Prozesskiller.vbs]
wmitxt = "winmgmts:{impersonationLevel=impersonate}"
Set wmi = GetObject(wmitxt)
liste = "Idle,_Total,wmiprvse"
cpumax = 95
timeout = 1000
Do
For Each proz In wmi.ExecQuery("SELECT * FROM " &_
"Win32_PerfFormattedData_PerfProc_Process")
If Instr(liste,proz.Name) = 0 Then
If CInt(proz.PercentProcessorTime) > CInt(cpumax) Then
killprozess(proz)
End If
End If
Next
WScript.Sleep 10000 '(10 Sekunden)
Loop
Sub killprozess(objproz)
WScript.Sleep timeout
If CInt(objproz.PercentProcessorTime) > CInt(cpumax) Then
antwort = MsgBox(objproz.Name & " scheint zu hängen" &_
vbCR & "Soll der Prozess beendet werden?",3,"Zombiekiller")
End If
If antwort = 6 Then
For Each proz In wmi.ExecQuery("SELECT *" &_
" FROM Win32_Process")
If proz.ProcessID = objproz.IDProcess Then
proz.Terminate(0)
End If
Next
End If
If antwort = 2 Then WScript.Quit
End Sub
[Ende Prozesskiller.vbs]
jakicoll