2011-05-10 40 views
6

Quiero reiniciar algunos procesos. Vamos a llamarlo someApp.exe. ¿Cómo puedo reiniciar ese proceso? No es mi aplicación. Es un programa externo.Reiniciar otra aplicación. C#, .net

+0

¿Cómo lo haría manualmente, sin C#? –

+0

@ Oscar Mederos - En tarea menager -> Proceso de eliminación -> Proceso de inicio – Hooch

+0

Después de matarlo, ¿cómo puede volver a iniciarlo? Quiero decir, ¿dónde ves el proceso? –

Respuesta

8

Lo que se quiere hacer es:

  • matar el proceso
  • Empezar de nuevo

Hay algunas maneras de obtener una instancia de proceso en C#. Vamos a suponer que conoce el nombre del proceso:

var process = Process.GetProcessesByName("notepad++")[0]; 

entonces usted puede hacer:

process.Kill(); 

Pero para empezar de nuevo, lo que necesita saber la trayectoria del proceso, por lo que antes de matar a ella, guardar la ruta del ejecutable:

var path = process.MainModule.FileName; 

Y entonces usted puede hacer:

Process.Start(path); 


Usted debe verificación si GetProcessesByName devuelve los elementos antes de tomar el primer elemento, pero sólo quería centrarse en lo importante aquí.

+0

¿qué pasa con los argumentos de inicio del programa? (como lo que vemos en taskmanager para la columna de línea de comandos) –

Cuestiones relacionadas