C# 杀掉系统中的进程

  杀掉系统进程之前首先要知道进程名称(说了句废话),这里要注意在任务管理器中的进程名称不一定是真实的名称。打个比方,我们开启一个"记事本",任务管理器中进程名称为"记事本",但是实际名为"notepad"。如果不知道在哪里看,可以点开任务管理器中的进程右击属性查看,一般都是xxx.exe形式。

  接下来我们开始写代码,可以循环取到系统中所有正在运行的进程,然后根据name和id匹配将要删除的进程,值得注意的是:开启多个"记事本"进程,name是一致的,如果根据name杀进程,那么都会被关闭掉。id是唯一的,但是每次启动"记事本"id会被随机分配。

引用:

using System.Diagnostics;

代码:

/// <summary>
/// 杀掉FoxitReader进程
/// </summary>
/// <param name="strProcessesByName"></param>
public static void KillProcess(string processName)
{
    foreach (Process p in Process.GetProcesses())
    {
        if (p.ProcessName.Contains(processName))
        {
            try
            {
                p.Kill();
                p.WaitForExit(); // possibly with a timeout
                Console.WriteLine($"已杀掉{processName}进程!!!");
            }
            catch (Win32Exception e)
            {
                Console.WriteLine(e.Message.ToString());
            }
            catch (InvalidOperationException e)
            {
                Console.WriteLine(e.Message.ToString());
            }
        }

    }
}

调用:

KillProcess("notepad");

原文地址:https://www.cnblogs.com/swjian/p/11404142.html

时间: 2024-10-28 10:37:42

C# 杀掉系统中的进程的相关文章

获取系统中所有进程&amp;线程信息

读书笔记--[计算机病毒解密与对抗] 目录: 遍历进程&线程程序 终止进程 获取进程信息 获取进程内模块信息 获取进程命令行参数 代码运行环境:Win7 x64 VS2012 Update3 遍历系统中所有进程 [cpp] view plain copy print? #include <stdio.h> #include <windows.h> #include <TlHelp32.h> int main() { // 为进程的所有线程拍个快照 HANDLE 

Unix/Linux系统中僵尸进程是如何产生的?有什么危害?如何避免?

如题 Unix/Linux系统中僵尸进程是如何产生的?有什么危害?如何避免? 一个进程在调用exit命令结束自己的生命的时候,其实他并没有真正的被销毁,而是留下一个称为僵尸进程(Zombie)的数据结构(系统调用exit,他的作用是使进程退出,但是也仅仅限于一个正常的进程变成了一个僵尸进程,并不能完全将其销毁).在linux进程的状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所有的内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态信息供其他进程收集

Linux 系统中僵尸进程

Linux 系统中僵尸进程 Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动.僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸. 僵尸进程如何产生的? 如果一个进程在其终止的时候,自己就回收所有分配给它的资源,系统就不会产生所谓的僵尸进程了.那么我们说一个进程终止之后,还保留哪些信息?为什么终止之后还需要保留这些信息呢? 一个进程终止的方法很多,进程终止后有些信息对于父进程和内核还是很有用的,例如进程的

Linux系统中查看进程和计划任务管理

? 各位小伙伴们大家好,本次给大家带来的是Linux操作系统中的进程和计划任务的管理,首先大家都知道程序是保存在外部存储介质(如硬盘.光盘)中的可执行机器代码和数据的静态集合,而进程是在CPU及内存中处于动态执行状态的计算机程序,在Linux系统中,每个程序启动后可以创建一个或多个进程.例如:提供Web服务的httpd程序当有大量用户同时访问Web页面时,httpd程序可能会创建多个进程来提供服务.那么接下来我将会从以下几点来告诉大家在Linux的CentOS 7系统中是如何查看进程信息和控制进

解决linux 系统中Mysql 进程占用CPU 300%故障

今日接到同事的电话,说微信公共帐号中的游戏无法登陆,用户不能玩了,麻烦尽快解决. 1.登陆IDC机房查看服务器流量图,流量正常,排除故障与流量无关. 2.登陆微信公共帐号中的游戏所在服务器发现系统互载过高,mysql进程CPU使用率超过300%. 为了快速解决问题直接重启mysql服务后,再查sysql进程CPU使用率依旧高居不下.故障还没有解决,继续寻找原因. 3.登陆mysql数据库,执行show processlist;查看当前正在执行的sql语句,发现几个表出现"sending data

在windows系统中解决进程占用文件夹导致文件夹无法删除的问题

在日常使用中,我们常常碰到文件夹被进程占用,导致资源锁定无法删除的情况. 碰到这种情况一般是在任务管理器里面,搜索句柄找到关联的句柄,从而定位是哪些进程占用了待删除的文件夹或文件. 但是一旦需要在程序中删除资源,事情就不那么好办了. 微软本身提供的cmd命令中不包含通过句柄搜索进程的命令,此时可以利用windows平台上的第三方工具来解决这个问题. 连接如下: https://docs.microsoft.com/zh-cn/sysinternals/downloads/handle 在程序中运

Linux: 确定系统中哪个进程在写文件

本系列文章由muge0913编写,转载请注明出处:http://www.openext.org/2015/10/linux-which-pid-write-file 微博:http://weibo.com/muge0913 版权声明:本文为博主原创文章,未经博主允许不得转载.

一起聊聊 Linux 系统中的僵尸进程

Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动.僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸.僵尸进程如何产生的?如果一个进程在其终止的时候,自己就回收所有分配给它的资源,系统就不会产生所谓的僵尸进程了.那么我们说一个进程终止之后,还保留哪些信息?为什么终止之后还需要保留这些信息呢?一个进程终止的方法很多,进程终止后有些信息对于父进程和内核还是很有用的,例如进程的ID号.进程的退出状态.进程运行的

Linux系统开发7 进程关系,守护进程

[本文谢绝转载原文来自http://990487026.blog.51cto.com] <大纲> Linux系统开发7  进程关系守护进程 终端 网络终端 Linux PCB结构体信息 进程组 修改子进程.父进程的组ID 会话组 设置一个会话脱离控制终端 生成一个新的会话 守护进程 守护进程模板 获取当前系统时间  终端 在UNIX系统中用户通过终端登录系统后得到一个Shell进程这个终端成为Shell进 程的控制终端Controlling Terminal在讲进程时讲过控制终端是保存在PCB