2012-09-24 10 views
6

Estoy observando un programa y quiero matarlo, si es por algún tiempo en el estado "esperar: ejecutivo".¿Cómo puedo obtener el estado de un programa?

Aquí está una captura de pantalla del explorador de procesos:

State: wait:executive

¿Cómo puedo obtener ese estado por código? ¿O quizás podría decirme a alguien qué significa exactamente ese estado? Esto me puede ayudar a encontrar la consulta correcta para resolver mi problema.

+0

La información debe estar en algún lugar de PCB de un proceso. ¿Es esto Windows 8? – nullpotent

+0

No, eso está en Windows 7. – rekire

+2

Es perfectamente normal que el hilo principal de una aplicación esté esperando –

Respuesta

2

No es estado del programa, pero su estado de thread.One proceso puede tener muchos hilos.

Puede llamar al WaitForSingleObject para determinar algunos estados.

También puede instanciar WMI usando COM y seleccionando Win32_Thread class.

Here is some example.

Más información aquí: How to determine that a win32 thread is either in Wait or Join or Sleep state in c++

+0

Gracias por esas pistas. Necesitaré algo de tiempo para comprenderlo e implementarlo. – rekire

2

Significa el hilo está esperando que el planificador/un componente del ejecutivo

Puede ser traída con WMI Win32_Thread (o .net System.Diagnostics.ProcessThread WaitReason)

Cuestiones relacionadas