zoukankan      html  css  js  c++  java
  • C#计算机进程管理工具,根据CPU变化结束相应进程(附源码打包下载)

    C#计算机进程管理工具,根据CPU结束相应进程

    这个工具是当CPU达到我们设置的相应值时,会自动结束设置好的进程。
    先来看看界面吧
    QQ截图20121218113437.jpg
    源码下载:

    http://www.cckan.net/thread-1791-1-1.html

    好了我们一下来看看代码吧,具体的我就不多说了,代码很简单,很容易看明白,如果确实有不明白的地方
    要吧直接回复提问,
    上代码

    /// <summary>
    /// 更新网站:<a href=\"http://www.cckan.net/thread-1791-1-1.html\" target=\"_blank\">http://www.cckan.net/thread-1791-1-1.html</a>
    /// </summary>
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Diagnostics;
    using System.Threading;
    
    namespace startName
    {
        public partial class Form1 : Form
        {
            string cpu = string.Empty;
            string info = string.Empty;
            double cpuMax = 0;
            string ProcessName = "";
            PerformanceCounter MainPC = new PerformanceCounter();//性能计数器
            Process[] p = null;
            PerformanceCounter ChPC = new PerformanceCounter();
    
            public Form1()
            {
                InitializeComponent();
            }
    
            //开始执行
            private void button1_Click(object sender, EventArgs e)
            {
                try
                {
                    panel1.Enabled = false;
                    timer1.Enabled = true;
                    try
                    {
                        //设置一下执行的参数
                        timer1.Interval = 1000 * Convert.ToInt32(textBox4.Text.Trim());
                    }
                    catch (Exception)
                    {
                        timer1.Interval = 1000 * 5;
                    }
                    MainPC.CategoryName = "Processor";//指定获取计算机进程信息如果传Processor参数代表查询计算机CPU 
                    MainPC.CounterName = "% Processor Time";//占有率
                    //如果pp.CategoryName="Processor",那么你这里赋值这个参数 pp.InstanceName = "_Total"代表查询本计算机的总CPU。
                    MainPC.InstanceName = "_Total";//指定进程 
                    MainPC.MachineName = ".";
                    cpuMax = Convert.ToDouble(textBox1.Text.Trim());
                    ProcessName = textBox2.Text.Trim();
                    p = System.Diagnostics.Process.GetProcessesByName(ProcessName);
    
                    textBox3.Text += textBox2.Text + "进程数:" + p.Length.ToString() + "\r\n";
                }
                catch (Exception)
                {
                    timer1.Enabled = false;
                    panel1.Enabled = true;
                }
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                try
                {
                    double dcpu = Math.Round(MainPC.NextValue(), 2);
                    label3.Text = "当前计算机CPU使用率:" + dcpu;
                    textBox3.ScrollToCaret();
                    if (dcpu > cpuMax)
                    {
                        int le = 0;
                        int num = 0;
                        le = p.Length;
                        for (int i = 0; i < le; i++)
                        {
                            textBox3.ScrollToCaret();
                            p.Kill();
                            num++;
                        }
                        textBox3.Text += DateTime.Now.ToString() + "  Cpu:" + dcpu.ToString() + "  成功清理:" + num.ToString() + "个进程\r\n";
                    }
                }
                catch (Exception ex)
                {
                    textBox3.Text += "出现问题:" + ex.Message.Trim() + "\r\n";
                }
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
    
            }
    
            private void timer2_Tick(object sender, EventArgs e)
            {
                p = System.Diagnostics.Process.GetProcessesByName(ProcessName);
            }
        }
    }

    其实这咱种工具还是很好用的,放在服务器上,如果电脑Cpu过高的话是可以直接维护的,
    不用人工的再去处理了

    不知道大家有没有这种情况,这是我在我服务器是用的一个小工具,给大家分享一下。希望大家喜欢

    代码里面主要是运用了一些进程相关的操作方法,还有一些关于Cpu统计的一些方式。

    好了就这样吧,具体的大家看代码吧,有什么建议请您回复我吧。期待大家的建议

    本人的博客不再维护从2013年就不再维护了 需要我帮助的朋友请到我的个人论坛 http://www.sufeinet.com 进行讨论,感谢大家对我的支持!
  • 相关阅读:
    「题解」洛谷 P3487 [POI2009]ARC-Architects
    「题解」洛谷 P3512 [POI2010]PIL-Pilots
    CentOS中安装的Gitlab忘记管理员密码怎样重置密码
    Jenkins中安装Credentials Binding插件时提示:Failed to load: SSH Credentials Plugin (1.18.2),Jenkins(2.282)or higher required
    Jenkins中安装Role-based Authorization Strategy插件来实现用户角色权限管理
    信息系统项目管理师-项目范围管理考点笔记
    Jenkins修改插件下载地址为国内下载地址与安装中文插件
    CentOS中Jenkins的下载、安装、配置与启动(图文教程)
    Jenkins启动时提示:Starting Jenkins Jenkins requires Java8 or later, but you are running 1.7.0
    Gitlab怎样添加组、创建用户、创建项目与推送代码
  • 原文地址:https://www.cnblogs.com/sufei/p/2823015.html
Copyright © 2011-2022 走看看