Mostrar procesos que se están ejecutando

Con unas pocas líneas de código podemos ver qué procesos se están ejecutando en el servidor así como diferente información sobre ellos (Ojo, deben tenerse los permisos pertinentes para poder ver esos procesos!!)

Lo que vamos a hacer es recoger esos procesos y mostrarlos muy sencillamente en un listado:

mostrarProcesos.cs
    private void mostrarProcesos()
    {
        System.Text.StringBuilder sb = new StringBuilder();
        System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcesses();

        foreach (System.Diagnostics.Process process in processes)
        {
            sb.Append(process.ProcessName);
            sb.Append(", ");
            sb.Append(process.WorkingSet64 / 1000);
            sb.AppendLine("<br />");  
        } 
    }


Como veis no nos complicamos la vida demasiado. Simplemente recogemos los procesos con System.Diagnostics.Process.GetProcesses();  e iterando uno por uno en un foreach creamos un StringBuilder con el nombre del proceso y los Kb de memoria que utiliza.

Vosotros podéis ampliarlo tanto como queráis, ya que process contiene muchísima más información sobre el proceso en cuestión (SessionId, Threads, StarTime...).