Каков наилучший способ сделать это? Мне нужно пройти цикл по всем моим машинным процессам и выбрать мой идентификатор процесса или есть способ тестирования?Убить процесс по идентификатору процесса
ответ
Существует встроенный метод, чтобы получить процесс ID
:
Process p = Process.GetProcessById(ID);
Тогда просто kill
его:
p.Kill();
Если вам нужно дождаться, когда процесс умрет, вы должны включить 'p.WaitForExit()', а также 'p.Dispose()' для хорошей меры или, еще лучше, обернуть его в блок 'using' – Rotem
Вы можете использовать Process.GetProcessById
метод.
Возвращает новый компонент процесса, учитывая идентификатор процесса на на локальном компьютере.
Process localById = Process.GetProcessById(1234);
localById.Kill();
Также вы можете получить весь процесс с;
Process [] localAll = Process.GetProcesses();
Вы можете Kill процесс:
Process.GetProcessByName(string).Kill();
Вы также get all processes, и может сделать некоторые определения, которые вы хотите, чтобы убить.
Process[] allProcs = Process.GetProcesses();
Короткий вопрос заслуживает короткий ответ:
public static void KillById(int processId) {
Process process = Process.GetProcessById(processId);
if (process != null)
process.Kill();
else
throw new Exception("The contract of the method is to kill a certain process. That endeavour has failed");
}
Поскольку я не могу найти ответ, который обрабатывает его правильно:
bool KillProcessByID(int id, bool waitForExit = false)
{
using (Process p = Process.GetProcessById(id))
{
if (p == null || p.HasExited) return false;
p.Kill();
if (waitForExit)
{
p.WaitForExit();
}
return true;
}
}
некоторых случаях, когда вы, возможно, потребуется подождать для выхода, если вы являетесь установщиком, и вам нужно закрыть другой процесс, чтобы разблокировать некоторые из файлов, которые он использует. В этом случае просто вызов Kill
не гарантирует, что Process
будет мертв, когда возвращается Kill
.
Это похоже, не является testet: должно быть 'Process.GetProcessById (id)' –
@ M.Schena Исправлено, спасибо. – Rotem
Мне нужно было выяснить, что оператор using не будет работать, он выдает исключение. Это должно быть try/catch {} –
- 1. Как убить процесс по описанию процесса
- 2. Убить процесс по имени
- 3. Убить процесс по имени?
- 4. Как найти процесс windows по идентификатору процесса на командной строке
- 5. Как убить процесс из другого процесса?
- 6. Получить объект процесса по идентификатору процесса
- 7. Найти имя процесса по его идентификатору процесса
- 8. Windows CE. Как убить процесс по имени?
- 9. Убить процесс по имени файла
- 10. Убить процесс отчасти по имени
- 11. Qt: убить текущий процесс?
- 12. Убить определенный процесс MSTSC
- 13. Как убить вишневый процесс?
- 14. Убить процесс Excel C#
- 15. Как убить процесс Play Framework?
- 16. убить процесс из приложения узла
- 17. Как убить рутинный процесс
- 18. Leiningen - как убить детский процесс?
- 19. пассажирская остановка убить сирот процесс
- 20. Счетчик производительности по идентификатору процесса вместо имени?
- 21. Управление объемом приложения: по идентификатору процесса
- 22. SIGTERM не может убить процесс
- 23. Запустить новый процесс и убить текущий процесс
- 24. функция Bash, чтобы убить процесс
- 25. не удалось убить возвращающийся процесс
- 26. Python убить процесс без оболочки
- 27. Убить процесс в Ubuntu по имени
- 28. Получить использование ЦП для процесса по идентификатору процесса
- 29. freebsd: текущий динамический цикл процесса по идентификатору процесса
- 30. Как получить идентификатор процесса, чтобы убить процесс nohup?
Что вы подразумеваете под "Best Way". Очень просто получить список активных процессов и простой запрос Linq вытащить нужные вам (либо идентификатором процесса, либо именем процесса), и, наконец, убить счет (!). – Alireza
Google [C# kill process by id] (https://www.google.com/search?q=c%23+kill+process+by+id&oq=c%23+kill+process+by+id&aqs=chrome. .69i57j69i58j69i60.3546j0 & sourceid = chrome & ie = UTF-8), затем прочитайте документацию. – tnw
Google ... Кроме того, что означает идентификатор процесса «MY» ... – Baral