C#可以对系统服务 检查增加删除启动停止重启(转)
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceProcess;
using System.Configuration.Install;
using System.Collections;
namespace eFormPC.DBUtility
{
/// <summary>
/// Windows 服务类
/// <para>Author:周波</para>
/// <para>Date:2010-12-2</para>
/// </summary>
public class ServiceUI
{
/// <summary>
/// 检查服务存在的存在性
/// </summary>
/// <param name=" NameService ">服务名</param>
/// <returns>存在返回 true,否则返回 false;</returns>
public static bool isServiceIsExisted(string NameService)
{
ServiceController[] services = ServiceController.GetServices();
foreach (ServiceController s in services)
if (s.DisplayName.ToLower() == NameService.ToLower())
return true;
return false;
}
/// <summary>
/// 安装Windows服务
/// </summary>
/// <param name="stateSaver">集合</param>
/// <param name="filepath">程序文件路径</param>
public static void InstallmyService(IDictionary stateSaver, string filepath)
{
try
{
AssemblyInstaller AssemblyInstaller1 = new AssemblyInstaller();
AssemblyInstaller1.UseNewContext = true;
AssemblyInstaller1.Path = filepath;
AssemblyInstaller1.Install(stateSaver);
AssemblyInstaller1.Commit(stateSaver);
AssemblyInstaller1.Dispose();
}
catch (Exception ex)
{
throw;
}
}
/// <summary>
/// 卸载Windows服务
/// </summary>
/// <param name="filepath">程序文件路径</param>
public static void UnInstallmyService(string filepath)
{
try
{
AssemblyInstaller AssemblyInstaller1 = new AssemblyInstaller();
AssemblyInstaller1.UseNewContext = true;
AssemblyInstaller1.Path = filepath;
AssemblyInstaller1.Uninstall(null);
AssemblyInstaller1.Dispose();
}
catch (Exception ex)
{
throw ;
}
}
/// <summary>
/// 检查Windows服务是否在运行
/// </summary>
/// <param name="name">程序的服务名</param>
public static bool IsRunning(string name)
{
bool IsRun = false;
try
{
if (!isServiceIsExisted(name)) return false;
var sc = new ServiceController(name);
if (sc.Status == ServiceControllerStatus.StartPending || sc.Status == ServiceControllerStatus.Running)
{
IsRun = true;
}
sc.Close();
}
catch
{
IsRun = false;
}
return IsRun;
}
/// <summary>
/// 启动Windows服务
/// </summary>
/// <param name="name">程序的服务名</param>
/// <returns>启动成功返回 true,否则返回 false;</returns>
public static bool StarmyService(string name)
{
try
{
var sc = new ServiceController(name);
if (sc.Status == ServiceControllerStatus.Stopped || sc.Status == ServiceControllerStatus.StopPending)
{
sc.Start();
sc.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 10));
}
else
{
}
sc.Close();
return true;
}
catch (Exception ex)
{
throw ;
}
}
/// <summary>
/// 停止Windows服务
/// </summary>
/// <param name="name">程序的服务名</param>
/// <returns>停止成功返回 true,否则返回 false;</returns>
public static bool StopmyService(string name)
{
try
{
var sc = new ServiceController(name);
if (sc.Status == ServiceControllerStatus.Running || sc.Status == ServiceControllerStatus.StartPending)
{
sc.Stop();
sc.WaitForStatus(ServiceControllerStatus.Stopped, new TimeSpan(0, 0, 10));
}
else
{
}
sc.Close();
return true;
}
catch (Exception ex)
{
throw ;
}
}
/// <summary>
/// 重启Windows服务
/// </summary>
/// <param name="name">程序的服务名</param>
/// <returns>重启成功返回 true,否则返回 false;</returns>
public static bool RefreshmyService(string name)
{
return StopmyService(name) && StarmyService(name);
}
}
}
转载于:https://www.cnblogs.com/sanpi/archive/2010/11/24/1886625.html
C#可以对系统服务 检查增加删除启动停止重启(转)相关推荐
- mysql 设置中文 重启_如何启动/停止/重启MySQL + 进入MYSQL-Go语言中文社区
Ubuntu 如何启动/停止/重启MySQL 一. 启动方式 1.使用 service 启动:service mysql start 2.使用 mysqld 脚本启动:/etc/inint.d/mys ...
- 如何启动/停止/重启MySQL + 进入MYSQL
Ubuntu 如何启动/停止/重启MySQL 一. 启动方式 1.使用 service 启动:service mysql start 2.使用 mysqld 脚本启动:/etc/inint.d/mys ...
- mysql 启动 修改密码_基础的启动/停止/重启/密码修改MySQL
如何启动/停止/重启MySQL 一. 启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld st ...
- linux启动关闭脚本,Linux中启动/停止/重启/状态的startup脚本
今天看到一个脚本,可以完成脚本的启动/停止/重启/状态,和/etc/init.d中的服务一样.但是/etc/init.d里面的服务要设置开机启动,可以使用service来管理.如果不设置开机启动且方便 ...
- linux启动/停止/重启MySQL的命令
linux如何启动/停止/重启MySQL数据库服务?两种方式,一种是使用service启动/停止/重启,另一种则是使用mysqld脚本启动/停止/重启. linux启动MySQL命令 [root@yu ...
- crontab服务启动 停止 重启(linux 定时任务)
crontab 服务 启动 停止 重启 crontab 服务用于执行 linux 定时任务. 重启服务命令: service crond restart启动服务命令: service crond st ...
- centos 7 重启mysql_centOS7 如何启动/停止/重启MySQL
如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld sta ...
- ubuntu下如何启动MySQL_如何ubuntu下启动/停止/重启MySQL
如何启动/停止/重启MySQL 一. 启动方式 1.使用 service 启动:service mysql start 2.使用 mysqld 脚本启动:/etc/inint.d/mysql star ...
- 如何ubuntu下启动停止重启MySQL
如何启动/停止/重启MySQL 一. 启动方式 1.使用 service 启动:service mysql start 2.使用 mysqld 脚本启动:/etc/inint.d/mysql star ...
最新文章
- ZedGraph怎样在双击图形后添加箭头标记
- NeurlPS 2021论文预讲会议题全公开,4大主题和25场报告等你来
- LeetCode Search in Rotated Sorted Array II -- 有重复的旋转序列搜索
- mysql select db error_select error:不能用DB-library(如isql)不能用DB-library(如isql
- python大学什么专业学校_好学校的差专业和一般大学的好专业,该怎么选?我来说真话……...
- Learnopengl
- Oracle操作管理之用户和角色
- 数据架构建设方法及案例
- 大数据智能营销系统的作用
- Top,vmstat命令排查CPU使用率,负载问题
- 企业如何进行融资(企业融资的6大正确方式)
- 2009年研究生入学考试西医综合科目试题
- strcmp()函数:将指定的两个字符串进行比较。
- 前端工程化 | 工程化技术基础
- 淘宝开放平台阿里奇门对接联调教程详细操作
- 如何设置敬业签定时提醒待办事项?
- mysql数据库二级好考吗_计算机二级考试选考哪个科目最好?
- oracle删除表结构或者表数据
- vga2usb linux,VGA to USB采集器
- CentOS7修改主机名称(hostname)
热门文章
- Android_自定义水波纹菜单弹出效果
- [FWT] UOJ #310. 【UNR #2】黎明前的巧克力
- Educational Codeforces Round 55 (Rated for Div. 2) B. Vova and Trophies 【贪心 】
- django类视图简单使用和源码解析
- BIO ,NIO,AIO的区别
- Supervisor-类unix系统下的进程控制工具
- 原创:Spring整合junit测试框架(简易教程 基于myeclipse,不需要麻烦的导包)
- html中的特殊符号
- VMWare 8 安装 Mac OS 10.7 (Lion)版 【转】
- Array提供的方法