Feedback

VB - Hängende Processe beenden

Veröffentlicht von am 12/9/2007
(6 Bewertungen)
Ich hatte ja im vorhergehenden Code bemängelt, dass man auf diese Art nicht alle Processe einfach beenden kann.

Der Nachfolgende Code ist lediglich einen kleine Erweiterung. Es wird versucht die Prozesspriorität auf den niedrigsten Wert zu setzen, dann der folgt der Versuch, den Prozess zu beenden.

Der User wird über das Ergebnis informiert.
  ''' <summary>
    '''Beendet alle Prozesse, die nicht mehr reagieren.
    ''' </summary>
    Private Function QuitAllNotRespondingProcesses() As String
        Dim p As Process
        Dim processes As Process()
        Dim sb As New StringBuilder
        processes = Process.GetProcesses()

        For Each p In processes
            If Not p.Responding Then
                Try
                    p.PriorityClass = ProcessPriorityClass.Idle
                    Thread.Sleep(1000)
                    p.Kill()
                    sb.AppendLine(p.ProcessName.ToString & " wurde beendet")
                Catch ex As Exception
                    sb.AppendLine(p.ProcessName.ToString & " konnte nicht beendet werden")
                End Try

            End If
        Next

        Return sb.ToString
    End Function
Abgelegt unter Thread, Process.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!