2009-11-25 11 views
27

Recientemente he actualizado mi máquina de desarrollo de Windows XP a Windows 7. ¿Cómo puedo saber qué proceso de w3wp.exe corresponde a qué grupo de aplicaciones en un escritorio con Windows 7?¿Determinar qué proceso w3wp.exe pertenece a qué grupo de aplicaciones en Windows 7/IIS7.5?

¿Pero qué hay en mi escritorio?

Respuesta

54

Si abre el Administrador IIS, vaya al nodo raíz en el árbol a la izquierda que representa su computadora (debe etiquetarse como el nombre de su computadora).

En la vista Características a la derecha, verá una sección llamada IIS. Debajo de eso verá Worker Processes. Seleccione eso y le mostrará todos los procesos de los trabajadores en ejecución y alguna información básica, incluido ProcessId.

Puede correlacionar ese ProcessId con el proceso de coincidencia en la pestaña Procesos en el Administrador de tareas (que muestra los procesos de todos los usuarios, e incluye la columna ProcessId en los resultados).

+0

Grandes instrucciones, gracias! – wweicker

+0

¡Guau, nunca supo que esto existía! Buen hombre: o) –

+0

Impresionante, no es necesario para la depuración de la ruleta. –

20

También puede entrar en el Administrador de tareas y añadir la PID y línea de comandos columnas para ver la información que necesita.

enter image description here

El contenido tachado contiene los nombres de los procesos individuales.

Me parece que este flujo de trabajo es ligeramente menos engorroso que tener que irme de lo que estoy viendo en IIS para ver esta información (para luego tener que volver a donde estaba).

+2

Me gusta esto. Con los atajos de teclado (Ctrl-Shift-Escape, "w3"), esto es mucho más rápido que activar el administrador de IIS y usar varios clics del mouse aquí y allá para que le brinde la información. Y se actualiza automáticamente. – sehe

+0

@sehe ¡Gracias por el atajo de tarea! –

2

Sé que esta es una publicación anterior, pero esta es una forma de enumerar el grupo de aplicaciones y procesar ID usando el código C#.

void Main() 
{ 
    using (var serverManager = new ServerManager()) 
    { 
     foreach (var appPool in serverManager.ApplicationPools) 
     { 
      string.Format("App pool name = {0}", appPool.Name).Dump(); 

      foreach (var workerProcess in appPool.WorkerProcesses) 
      { 
       string.Format("Process id = {0}", workerProcess.ProcessId).Dump(); 
      } 
     } 

     "Done".Dump(); 
    } 
} 

Asegúrese de que hace referencia a Microsoft.Web.Administration.dll en% windir% \ system32 \ inetsrv.

Si usted no tiene LINQPad, reemplazar los vertederos con Console.WriteLine (s)

Cuestiones relacionadas