C# Process Killing
I need to write a program in c# that would just start, kill one process\exe that it is supposed to kill and end itself.
The process I need to kill is another C# application so it is a local user process and I know the path to the exe.
8 Answers 8
First search all processes for the process you want to kill, than kill it.
Killing processes by their name can be easily done in C# (as the other answers already showed perfectly). If you however want to kill processes based on the full path of the executable things get more tricky. One way to do that would be to use WMI, another way would be to use the Module32First Windows API function.
The sample below uses the latter approach. It first selects a subset of the running processes by their name and then queries each of these processes for their full executable path. Note that this path will be the actual path of the image being executed, which is not necessarily the executable that was launched (e.g. on x64 systems the actual path to calc.exe will be C:\Windows\SysWOW64\calc.exe even if the file C:\Windows\system32\calc.exe was started). All processes with a matching path are returned by GetProcessesByPath :
Some of the code is based on an article by Jason Zander which can be found here.
you can call the Process.Kill method
you can use the Process.GetProcesses to get all processes or Process.GetProcessByName or Process.GetProcessById so you can get the process to call Kill on.
Here vfp is process name. and test is setup title name.
You can achieve it by using Process Class class but why would you want to kill another process?
Как завершить процесс c
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.
![]()
- ProfileText
- Sign in
Answered by:
Question
Answers
Doesn’t GetProcessesByName return an array?
- Proposed as answer by Vi3GameHkr Tuesday, June 19, 2012 7:48 PM
- Marked as answer by Reed Copsey, Jr MVP Thursday, December 13, 2012 1:45 AM
Use this to close all the process called utorrent
- Edited by tapoox Thursday, July 19, 2012 4:27 AM
- Marked as answer by Reed Copsey, Jr MVP Thursday, December 13, 2012 1:45 AM
All replies
Hope this will help u.
- Proposed as answer by NagarjunaDilip Tuesday, July 14, 2009 12:05 PM
Hi — I think my information can help.
I hope this information was helpful.
Have a nice day.
Best regards,
Fisnik Coder24.com
- Proposed as answer by YiChun Chen Monday, July 13, 2009 2:18 AM
- Marked as answer by Harry Zhu Wednesday, July 15, 2009 9:38 AM
- Unmarked as answer by Reed Copsey, Jr MVP Thursday, December 13, 2012 1:45 AM
An extra point for Prasant Swain.
With the first solutions, I got the error:
Error 1 The type or namespace name ‘Process’ could not be found (are you missing a using directive or an assembly reference?
Справочник по C#
Если вы столкнулись с проблемой и хотите поделиться своим опытом, знаниями или у вас есть интересная статья с иностранного сайта, предложение новой темы, статью которую Вы хотите видеть в ближайшем будущем, расскажите нам об этом и мы обязательно поделимся этими знаниями со всеми. Возможно, для других ваши знания, опыт и советы окажутся очень ценными и помогут вовремя найти правильный выход или не совершить ошибок.
Так же если у вас есть предложение о сотрудничестве, пожелания, указать на нарушения сайта или просто сказать слова благодарности, все это вы можете сделать через форму обратной связи. Читать дальше
Завершение работы процесса
- Пример №1 – использование метода «Kill» из класса «System.Diagnostics»;
- Пример №2 – завершение процессов по идентификаторам или именам исполняемых файлов на локальной или удаленной системе с использованием команды «TASKKILL»;
- Пример №3 – использование Windows API функции «TerminateProcess» из библиотеки «Kernel32.lib».




Пример №2
Данный пример описывает завершение процессов по идентификаторам или именам исполняемых файлов на локальной или удаленной системе с использованием команды «TASKKILL». Команда может использоваться в операционных системах Windows XP и старше.
- /F — Принудительное завершение процесса.
- /IM <имя процесса> — Имя образа процесса, который требуется завершить. Знак подстановки «*» может быть использован для указания всех заданий или имен образов.
- /T — Завершение указанного процесса и всех его дочерних процессов.
- TASKKILL /IM notepad++.exe — завершение процесса, исполняемым образом которого является notepad.exe++. Если таких процессов более одного — то будут завершены все;
- TASKKILL /PID 1568 /T — завершить процесс с идентификатором 1568 и все его дочерние процессы (/T) . Одной командой можно завершить несколько процессов, задавая их PID — taskkill /PID 1568 /PID 1569 /PID 1570;
- TASKKILL /F /FI «PID ge 2015» /FI «WINDOWTITLE eq Arc*» — принудительно (/F) завершить процесс, идентификатор которого больше или равен 2000 и заголовок окна которого , начинается с текста Arc;
- TASKKILL /F /FI «USERNAME eq NT AUTHORITY\SYSTEM» /IM notepad++.exe — принудительно завершить процесс, выполняющийся в контексте учетной записи NT AUTHORITY\SYSTEM и исполняемый файл которого имеет имя notepad.exe++;
- TASKKILL /S 192.168.1.105 /U MyDomain\user /FI «USERNAME ne NT*» /IM * — завершить все процессы, выполняющиеся в контекстах учетных записей, не начинающихся со строки NT на компьютере с IP-адресом 192.168.0.243. При подключении к удаленной системе используется имя пользователя user в домене Mydomain. Пароль не задан и будет запрошен при выполнении команды;
- TASKKILL /S SERVER /U Mydomain\User /P UserPass /FI «IMAGENAME eq note*» — завершить все процессы, имя исполняемого файла которых начинается со строки note на удаленном компьютере с именем SERVER.
В данном примере для завершения работы процесса используется Windows API функция «TerminateProcess» из библиотеки «Kernel32.lib». Функция не дает процессу ни малейшего шанса самому провести очистку, операционная система высвобождает все принадлежавшие ему ресурсы: возвращает себе выделенную им память, закрывает любые открытые файлы, уменьшает счетчики соответствующих объектов ядра и разрушает все его User- и GDI-объекты.
После завершения процесса система гарантирует: после него ничего не останется — даже намеков на то, что он когда-то выполнялся. Завершенный процесс не оставляет за собой никаких следов. Синтаксис данной функции представлен ниже.
Параметр «hProcess» идентифицирует описатель завершаемого процесса, а в параметре «uExitCode» возвращается код завершения процесса.
articles
You haven’t finished your post yet. Are you sure you want to leave and discard your draft?
- An Article
- A Blog
- An Interview
- A Job
- A News

Kill a Process in C# with Example
Kill a Process in C# with Example
Sometimes we want to terminate or kill a process, which is already running or previously created process. To kill the process in c sharp use System. Diagnostics namespaces and use named ‘Kill()’ method which is available in Process class.
Here I am giving an example to kill the process. Let’s see a brief description of it. Example: Here I am creating a process and after 2 seconds killed it.
To kill the previously created process writes the following code.
After debug this code your Logic.exe executable file will execute and after 2 seconds it will close.
To kill the already running process:
To kill the already running process writes the following code.
After debugging the code if the ‘MSPaint’ process is running then it will close.