Process.Start(jrekeypath); Thread.Sleep(5); foreach (Process clsProcess in Process.GetProcesses()) { if (clsProcess.ProcessName.StartsWith("javaw")) { clsProcess.Kill(); } }
Это не убивает процесс.Есть ли проблема в этом фрагменте?
То же самое, что и ответ 5 мс, приведенный выше, но вы также можете попытаться сохранить управление процессом и использовать его повторно, например,
var javawProcess = Process.Start(jrekeypath); Thread.Sleep(5000); javawProcess.Kill();
5 мс не очень долгое время. Может ли быть так, что процесс на самом деле еще не запущен, когда ваш код его ищет, а вместо этого запускается вскоре после этого?