C# 操作线程的通用类[测试通过]
进程管理就是对服务器性能的管理和协调,在程序的运行角度来看非常重要,也可以根据操作进程的手段,衍生很多实用和智能的功能,以下就是介绍一个自己写的进程通用操作类,功能如下:
1.把ProcessUtility类直接复制到程序中即可实用。
2.调用方法 ex:ProcessUtility.resetProcessByPName("explorer");
代码如下:
![](/assets/blank.gif)
![](/assets/blank.gif)
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
/// <summary>
/// author:Stone_W
/// date:2010.12.20
/// desc:进程管理类
/// </summary>
public class ProcessUtility
{
#region 进程的cpu使用率
/// <summary>
/// 进程的cpu使用率
/// </summary>
/// <param name="processName">进程的名称</param>
/// <returns>string</returns>
public static string GetProcessRate(string processName)
{
string result = String.Empty;
try
{
PerformanceCounter pfc = new PerformanceCounter(); // 性能计数器
pfc.CategoryName = "Process"; // 指定获取计算机进程信息
pfc.CounterName = "% Processor Time"; // 占有率
pfc.InstanceName = processName; // 指定进程
pfc.MachineName = ".";
result = Math.Round(pfc.NextValue(), 2) + "%";
}
catch (Exception ex) { }
return result;
}
#endregion
#region 进程内存使用(单位:K)
/// <summary>
/// 进程内存使用(单位:K)
/// </summary>
/// <param name="pcs">进程实体</param>
/// <returns>string</returns>
public static string GetProcessDDR(Process pcs)
{
string result = String.Empty;
try
{
result = (pcs.PrivateMemorySize / 1000.0).ToString();
}
catch (Exception ex) { }
return result;
}
#endregion
#region 关闭进程
/// <summary>
/// 关闭进程
/// </summary>
/// <param name="pName">进程的名称</param>
/// <returns>bool</returns>
public static bool StopProcessByPName(string pName)
{
bool result = false;
if (!String.IsNullOrEmpty(pName))
{
try
{
Process[] myProcesses = Process.GetProcesses();
foreach (System.Diagnostics.Process myProcess in myProcesses)
{
if (myProcess.ProcessName.ToUpper() == pName.ToUpper().Trim())
{
myProcess.Kill();
}
}
result = true;
}
catch (Exception ex) { }
}
return result;
}
#endregion
#region 重新启动进程
/// <summary>
/// 重新启动进程
/// </summary>
/// <param name="pName">进程名称</param>
/// <returns>bool</returns>
public static bool resetProcessByPName(string pName)
{
bool result = false;
if (!String.IsNullOrEmpty(pName))
{
try
{
Process[] myProcesses;
myProcesses = Process.GetProcessesByName(pName);
foreach (Process myProcess in myProcesses)
{
myProcess.Kill();
}
result = true;
}
catch (Exception ex) { }
}
return result;
}
#endregion
}
C# 操作线程的通用类[测试通过]相关推荐
- Java操作json的通用类
2019独角兽企业重金招聘Python工程师标准>>> 提供一个Java中操作JSON格式的公共类: JSON(JavaScript Object Notation) 是一种轻量级的 ...
- c#操作oracle的通用类
using System; using System.Collections; using System.Collections.Generic; using System.Data; using S ...
- C#操作SQL Server通用类
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...
- NET操作Excel的通用类ExecelHelper.cs
直接上代码 using System; using System.IO; using System.Text; using System.Data; using System.Reflection; ...
- C#.NET操作数据库通用类(MS SQL Server篇)
下面给出了一个C#操作MS SQL Server 数据库的通用类,通过该类可以对数据库进行任何操作,包括执行SQL语句.执行存储过程.以下是其详细实现过程,希望大家共同修改优化之.稍后将介绍如何使用它 ...
- C#.NET操作数据库通用类
下面给出了一个C#操作MS SQL Server 数据库的通用类,通过该类可以对数据库进行任何操作,包括执行SQL语句.执行存储过程.以下是其详细实现过程,希望大家共同修改优化之.稍后将介绍如何使用它 ...
- android自定义线程池工具类,妈妈再也不用担心你不会使用线程池了(ThreadUtils)...
为什么要用线程池 使用线程池管理线程有如下优点:降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗. 提高响应速度:当任务到达时,任务可以不需要等到线程创建就能立即执行. 提高线程的可 ...
- [Java 并发编程实战] 设计线程安全的类的三个方式(含代码)
发奋忘食,乐以忘优,不知老之将至.---<论语> 前面几篇已经介绍了关于线程安全和同步的相关知识,那么有了这些概念,我们就可以开始着手设计线程安全的类.本文将介绍构建线程安全类的几个方法, ...
- 怎样编写测试类测试分支_编写干净的测试–从配置开始
怎样编写测试类测试分支 很难为干净的代码找到一个好的定义,因为我们每个人都有自己的单词clean的定义. 但是,有一个似乎是通用的定义: 简洁的代码易于阅读. 这可能会让您感到有些惊讶,但我认为该定义 ...
最新文章
- HDOJ 2009 求数列的和
- SVG基本形状及样式设置
- 为什么python输入中文变成竖的_Python中文竖排显示的方法
- elasticsearch索引和映射
- TensorFlow高阶 API: keras教程-使用tf.keras搭建mnist手写数字识别网络
- CodeForces - 1316B String Modification(找规律)
- Spring @RequestParam批注
- Apache Kafka简介
- 详解list容器(应用+模拟实现)
- [xsy3132]数表
- Linux学习之CentOS(五)----网卡的配置
- 数据结构排序系列详解之四 快速排序
- 人脸识别示例代码解析(二)——人脸识别解析
- basler 相机取图超时,basler 相机使用出现的问题
- 简述计算机数控系统的工作原理,计算机数控系统与802D系统编程基本原理
- 关于获取3DS MAX中的蒙皮数据 3DSMAX C++API的应用
- Unity笔记-29-ARPG游戏项目-01-第三人称相机
- redis的持久化机制详解
- (数据库系统概论|王珊)第一章绪论:习题
- PMP考试计算专题——网络图