Почему этот код не убивает процесс? - PullRequest
2 голосов
/ 23 июня 2010
Process.Start(jrekeypath);

Thread.Sleep(5);

foreach (Process clsProcess in Process.GetProcesses())
{
    if (clsProcess.ProcessName.StartsWith("javaw"))
    {
        clsProcess.Kill();
    }
}

Это не убивает процесс.Есть ли проблема в этом фрагменте?

Ответы [ 2 ]

10 голосов
/ 23 июня 2010

То же самое, что и ответ 5 мс, приведенный выше, но вы также можете попытаться сохранить управление процессом и использовать его повторно, например,

var javawProcess = Process.Start(jrekeypath);
Thread.Sleep(5000);
javawProcess.Kill();
5 голосов
/ 23 июня 2010

5 мс не очень долгое время. Может ли быть так, что процесс на самом деле еще не запущен, когда ваш код его ищет, а вместо этого запускается вскоре после этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...