c#发展

注册

 

发新话题 回复该主题

C查找进程结束进程的方法 [复制链接]

1#

在C#中,我们可以使用System.Diagnostics命名空间中的Process类来查找和结束进程。

查找进程

要查找进程,可以使用Process.GetProcessesByName()方法。该方法返回一个包含指定进程名称的所有进程的数组。示例:

//查找所有名为"notepad"的进程Process[]processes=Process.GetProcessesByName("notepad");//输出每个进程的详细信息foach(Processprocessinprocesses){Console.WriteLine("ProcessName:"+process.ProcessName);Console.WriteLine("PID:"+process.Id);Console.WriteLine("PhysicalMemoryUsage:"+process.WorkingSet64);Console.WriteLine("BasePriority:"+process.BasePriority);Console.WriteLine("PriorityClass:"+process.PriorityClass);Console.WriteLine("UserProcessorTime:"+process.UserProcessorTime);Console.WriteLine("PrivilegedProcessorTime:"+process.PrivilegedProcessorTime);Console.WriteLine("TotalProcessorTime:"+process.TotalProcessorTime);Console.WriteLine("PagedSystemMemorySize:"+process.PagedSystemMemorySize64);Console.WriteLine("PagedMemorySize:"+process.PagedMemorySize64);}

结束进程

要结束进程,可以使用Process.Kill()方法。该方法需要传入一个Process对象,表示要结束的进程。示例:

//查找所有名为"notepad"的进程Process[]processes=Process.GetProcessesByName("notepad");//结束每个进程foach(Processprocessinprocesses){try{process.Kill();Console.WriteLine("Process"+process.Id+"killed.");}catch(Exceptionex){Console.WriteLine("Failedtokillprocess"+process.Id+":"+ex.Message);}}

注意事项

需要注意的是,结束进程可能会导致数据丢失或系统不稳定。因此,在实际应用中,我们应该谨慎使用该方法,并确保在必要时采取适当的备份和恢复措施。

完整范例

usingSystem;usingSystem.Diagnostics;namespaceConsoleApp_ProcessKill{internalclassProgram{staticvoidMain(string[]args){stringprocessName="notepad++";//指定要查询的进程名称KillProcess(processName);Console.ReadLine();}staticvoidKillProcess(stringprocessName){foach(ProcessprocessinProcess.GetProcesses()){if(process.ProcessName.Contains(processName)){process.Kill();//结束该进程Console.WriteLine($"Process{processName}foundandterminated.");Console.ReadLine();bak;}}Console.WriteLine($"Process{processName}notfound!");}}}

范例运行结果

查找结束进程

分享 转发
TOP
发新话题 回复该主题