Puedes apoyarte de los WMI (Windows Management Instrumentation)
En tu proyecto agregas la referencia de System.Management
Y en code para ver los procesos actuales puedes hacer ésto:
VB.Net Cita: Imports System.Management
..
...
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim searcher As New ManagementObjectSearcher("SELECT * FROM Win32_Service WHERE Started = TRUE")
For Each service As ManagementObject In searcher.Get()
Response.Write("Service = " & service("Caption") & "<br>")
Next
End Sub
c# Cita: using System.Management;
...
..
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("SELECT * FROM Win32_Service WHERE Started = TRUE");
foreach (ManagementObject service in searcher.Get())
Response.Write = "Service = " + service["Caption"] + "<br>";
Y para hacer un kill de un process puedes intentar ésto:
Cita: For Each p As System.Diagnostics.Process In System.Diagnostics.Process.GetProcessesByName("NombreProceso")
If Not p.CloseMainWindow Then
p.Kill()
End If
Next
Espero te sirva de algo.
Salu2