Kill Prozess, und jedes Kind-Prozesse eröffnet, die von der übergeordneten Prozess ("TaskKill /F /T' - Befehl)

Habe ich ein SFX WinRAR autoxtraible-Datei, die ausgeführt wird eine Textdatei mit notepad.exe Prozess, und die SFX-Datei wartet, bis erhalten eine exit-Code des notepad.exe beenden Sie die SFX-Ausführung.

Ich würde gerne eine treekill, kill alle Prozesse, offenen durch die SFX-Datei, oder in anderen Worten, möchte ich zum reproduzieren dieses Batch-Befehl, in .NET:

/t : Gibt an, beenden aller child-Prozesse, zusammen mit den
übergeordneter Prozess, allgemein bekannt als ein Baum töten.

Taskkill /F /T /IM "SFX file.exe"

Töten einen Prozess, den ich hierzu in VBNET:

''' <summary>
''' Kill a process specifying the process name.
''' </summary>
Private Sub Kill_Process(ByVal ProcessName As String,
                         Optional ByVal Recursive As Boolean = True)

    ProcessName = If(ProcessName.EndsWith(".exe", StringComparison.InvariantCultureIgnoreCase),
                     ProcessName.Substring(0, ProcessName.LastIndexOf(".")),
                     ProcessName)

    For Each p As Process In Process.GetProcessesByName(ProcessName)
        p.Kill()
        If Not Recursive Then Exit For
    Next p

End Sub

Nun, In C# oder VBNET wie konnte ich identifizieren, die Kind-Prozesse eröffnet, die von der SFX zu töten Sie alle auf einmal?

  • Wie this?
  • Danke so sehr für die info, der sub erwartet eine pid, ich bin versucht zu retuschieren es zu erwarten, dass ein Prozess-Namen, ich denke, dass ich es von mir selbst, ohne Hilfe, vielleicht, dass code, der mein Leben gerettet, danke nochmal
  • Sie sollten in der Lage zu zwicken die WMI-Abfrage zu filtern, die durch Prozess-Namen.
  • Es hat funktioniert, vielen Dank
  • Ich bin froh, Sie waren in der Lage zu Sortieren Sie es aus. 🙂
Schreibe einen Kommentar