aumentar async c# .net timeout

c# - async - Espere hasta que el proceso ya no se esté ejecutando O hasta que haya transcurrido el tiempo de espera, lo que ocurra primero



httpwebrequest timeout c# (3)

Quiero finalizar un proceso que se ejecuta en la máquina con taskkill si aún se están ejecutando después de X segundos (se detuvo un servicio de Windows, pero los procesos desaparecen). 2.0 o posiblemente 3.0)?

Tengo un método de utilidad para verificar si un proceso todavía se está ejecutando, dado el nombre del proceso (usando Process.GetProcesses() ). (Como el código no genera el proceso, no puedo usar WaitTillExit para saber cuándo ya no se está ejecutando)

PD: el proceso se ejecuta en una máquina remota.


De hecho, puede usar Process.WaitForExit ().

Simplemente consigue el proceso para esperar a través de

Process p = Process.GetProcessById(iYourID);

Y luego llamar

if(!p.WaitForExit(iYourInterval)) { p.Kill(); }

También puede obtener procesos a través de su nombre por

Process.GetProcessesByName(strYourProcessName);


Puede llamar a Process.WaitForExit , pasando el tiempo de espera apropiado. De esta manera, no necesitará usar su propio cheque para ver si el proceso todavía se está ejecutando.


Process p = ... bool exited = p.WaitForExit(10000); // 10 seconds timeout