C# 重启服务

C#实现对Windows服务的操作_重启、停止 在我们的日常运维中,可能会遇到业务服务在运行一段时间后由于某些不确定因素而停止运行,导致业务功能受影响,此时只要我们重启服务又能够正常运行了,在我们还没有完全排查从根本上解决问题前,需要一个临时的方法来救场(即:当发现业务服务停止后能够自动重新启动,减少对业务的影响,留下足够的时间来排查问题分析) 阅读详情
	System.ServiceProcess.ServiceController service = new System.ServiceProcess.ServiceController("FaceService");
	if (service.Status == ServiceControllerStatus.Running)
	 {
	     service.Stop();
	     service.WaitForStatus(ServiceControllerStatus.Stopped);
	 }
	 service.Start();
	 service.WaitForStatus(ServiceControllerStatus.Running);
	 //FaceService是服务的名字

补充记录:

/// <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 e)
            {
                LOG.Logs.PutLog("卸载Windows服务时:" + e.Message);
            }
        }
/// <summary>
        /// 安装Windows服务
        /// </summary>
        /// <param name="stateSaver">集合</param>
        /// <param name="filepath">程序文件路径</param>
        public static void InstallmyService(IDictionary stateSaver, string filepath)
        {
            try
            {
                AssemblyInstaller AssemblyInstaller1 = new AssemblyInstaller
                {
                    UseNewContext = true,
                    Path = filepath
                };
                AssemblyInstaller1.Install(stateSaver);
                AssemblyInstaller1.Commit(stateSaver);
                AssemblyInstaller1.Dispose();
            }
            catch (Exception e)
            {
                LOG.Logs.PutLog("安装Windows服务时:" + e.Message);
            }
        }
/// <summary>
        /// 检查服务存在的存在性
        /// </summary>
        /// <param name=" NameService ">服务名</param>
        /// <returns>存在返回 true,否则返回 false;</returns>
        public static bool IsServiceExisted(string NameService)
        {
            try
            {
                ServiceController[] services = ServiceController.GetServices();
                foreach (ServiceController s in services)
                {
                    if (s.ServiceName.ToLower() == NameService.ToLower())
                    {
                        return true;
                    }
                }
            }
            catch (Exception e)
            {
                LOG.Logs.PutLog("IsServiceExisted时:" + e.Message);
            }
            return false;
        }
/// <summary>
        /// 启动服务
        /// </summary>
        /// <param name="serviceName">服务名字</param>
        public static void ServiceStart(string serviceName)
        {
            try
            {
                if (IsServiceExisted(serviceName))//如果服务存在
                {
                    using (ServiceController control = new ServiceController(serviceName))
                    {
                        if (control.Status == ServiceControllerStatus.Stopped)
                        {
                            control.Start();//开启被停止的服务
                        }
                    }
                }
            }
            catch (Exception e)
            {
                LOG.Logs.PutLog("启动服务时" + e.Message);
            }
        }
2个C#开启服务的方法!一个用ServiceController实现一个用运行实现 2个C#开启服务的方法! 一个用ServiceController实现 一个用CMD运行+ProcessStartInfo实现 一个按钮实现开启和关闭服务两个功能!!! 立即下载

相关推荐

专治疑难系列 - 解决打印机凭证冲突问题

一、问题描述 二、解决方法 三、问题已解决

Passerby_Wang的博客 2万+

C# 重启程序的四种方法

C# 重启程序的四种方法

Debug-123 6605

用逐飞STC32G库做个智能小车:编码器测速、PWM调电机、ADC读电池电压(完整项目)

本文详细介绍了如何使用逐飞科技的STC32G12K128开源库构建智能小车项目,涵盖编码器测速、PWM电机控制和电池电压监测等核心功能。通过硬件选型、开发环境搭建、代码实现及调试技巧的全流程讲解,帮助开发者快速掌握基于STC32G的嵌入式系统开发,实现高性能的智能小车控制。

weixin_42526417的博客 194

c# 重启系统服务

前段时间,本地开发组希望使用集团统一的鉴权组件,所以,把一些程序更改,但是,运行结果却不是很好,后来查了很久的原因,发现集团公司写的一个组件内存一直占用很高,且访问一次,内存不段累加,却没有被释放,最终将造成系统内存耗光.....由于本地不可能修改该组件,唯一的办法只有每天定时重启该服务.... c#来重启服务,包括iis,等等,代码很简单.随便抄一段. 停止 ServiceCo...

weixin_30338497的博客 333

单视图几何Vanish Point(消失点/灭点)计算方法——Robert_T_Collins(罗伯特·柯林斯)算法

单视图几何Vanish Point(消失点/灭点)计算方法——Robert_T_Collins(罗伯特·柯林斯)算法

beyond951的博客 7333

Quantum Espresso Hands-On实战训练(四)——PDOS计算与轨道分析

本文详细介绍了Quantum Espresso中PDOS计算与轨道分析的实战方法,重点解析了PDOS在材料电子结构研究中的核心价值,包括原子级分辨率、轨道级解析和自旋极化分析。通过具体案例和操作步骤,帮助读者掌握从输入文件准备到结果解读的全流程,并提供了高级分析技巧和疑难问题解决方案。

weixin_29211309的博客 504

C# Winform应用程序重启

winform应用程序重启

yizhou2010的专栏 3709

C#与Vector XL驱动库实战:CAN通道配置与端口访问详解

本文详细解析了使用C#调用Vector XL驱动库进行CAN总线通信开发的核心步骤。重点阐述了如何通过XL_GetDriverConfig获取硬件通道信息,并厘清channelMask与accessMask的区别与转换关系,最终指导开发者正确使用XL_OpenPort函数配置并打开CAN端口,为构建稳定的汽车电子测试与诊断应用奠定基础。

weixin_28452161的博客 362

c# 定期重启程序操作

原文链接:https://blog.youkuaiyun.com/yizhou2010/article/details/129583150。二、Process.Start()和Exit()经测试发现有时候也只会关闭程序,并不会重新启动。经测试发现有时候只会关闭程序,并不会重新启动。三、进程的Start和Kill方法。1 先说说重启//这部分是转载的。经测试使用进程进行重启比较稳定。四:使用Process方式。一、Restart方法。

weixin_40029679的博客 1833

嵌入式开发环境Vscode开发STM32单片机程序

STM32单片机非常强大,大多数教程都是使用 keil 编译器,keil 是收费的而 gcc 是开源免费的。这里介绍一些使用 gcc +开发单片机程序的经验。(这里不解释 gcc 是什么)。

嵌入式技术开发 1843

社区版 ABAP MCP 能不能读取 SAP S/4HANA 公有云开发对象,我的判断是能试,但不能当成已被 SAP 背书的标准通道

文章摘要:当前存在多个社区项目(如mcp-abap-adt、mcp-abap-abap-adt-api等)通过包装ABAP ADT能力为MCP Server,使AI开发工具能读取ABAP对象。这些项目技术上依赖ADT HTTP API或SAP官方ADT language server,但针对SAP S/4HANA Cloud Public Edition的完整适配仍存在挑战。SAP官方已通过VS Code扩展提供ADT MCP能力,而社区方案在云环境下需遵循ABAP Cloud的严格限制,仅能访问已授权的开

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 86

c# 服务程序重启自身

由于工作有这样的需求,于是各种寻找,但是都不满意,偶然间想起一个方法 1、修改服务的Program.cs文件如下 static void Main(string[] args) { //LoadFile(); if (args == null || args.Length == 0) ...

dengxuanxian9113的博客 1018

MATLAB代码转到FPGA代码

添加完文件之后,需要设置输入的数据类型,设置完之后点击Workflow Advisor。MATLAB文件包含一个功能实现文件和测试文件。对应FPGA中的功能文件和测试文件。然后,将功能文件和测试文件添加到相应位置。然后选择APP中的HDL Coder代码。首先需要编写好MATLAB文件。点击链接,就可以查看你看到的代码。可以自己生成代码的语言类型。

小柚子的博客 3062

C# 代码重启windows服务

C# 代码重启windows服务    C#代码: ServiceController service = new ServiceController("wwService");protected void btnRestart_Click(object sender, EventArgs e)    {        try        {            if (servic...

weixin_34163553的博客 1536

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C#中控制IIS服务重启

停止ServiceController sc = new ServiceController("iisadmin");if(sc.Status=ServiceControllerStatus.Running)  sc.Stop();啟動IIS服務ServiceController sc = new ServiceController("iisadmin");  sc.Start();重啟u

Delphiandliu的专栏 1316

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C#远程重启计算机/使用c#控制远程计算机的服务

远程重启计算机(C#) 首先添加对 System.Management的引用 然后代码入下: ConnectionOptions op = new ConnectionOptions ( ) ; op.Username ="wgscd";或者你的帐号(注意要有管理员的权限) op.Password = "wgscd" ; 你的密码 ManagementScope scope = new M

zhiyang202_____________________________________________________________________ 2601

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

c#实现远程重启服务器

c#实现远程重启服务器 from:http://www.51asp.net.cn/?p=247 远程重启服务器(C#),方法很简单:首先添加对 System.Management的引用然后代码入下:  ConnectionOptions op = new ConnectionOptions ( ) ; op.Username ="wgscd

渺茫的希望 1026

C#创建Windows服务(Windows Services) 实战之系统定时重启服务

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Diagnostics;using System.ServiceProcess;using System.IO;using System.Text;using

379

C#中调用Windows系统服务exe程序的工具类与重启服务的流程

场景 使用C#编写的Windows服务程序,在Winform中进行调用。 常用工具类方法检测服务是否存在或者安装,获取服务状态,启动服务,停止服务的方法。 以在Winform中重启服务为例。 注: 博客主页: https://blog.youkuaiyun.com/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载 实现 新建工具类WinServiceHelper 检测服务是否安装或者存在的方法 /// <summary> ..

Globalizationa的博客 631

C#中通过代码控制IIS服务重启

C#中控制IIS服务停止 ServiceController sc = new ServiceController("iisadmin"); if(sc.Status=ServiceControllerStatus.Running) sc.Stop(); 启动IIS服务 ServiceController sc = new ServiceController("iisadmin");...

weixin_30240349的博客 387
上一篇: AJAX异步请求(C#、JAVA)、HTMl ajax异步请求数据(JQuery异步请求ajax,JavaScript异步请求ajax)
下一篇: 拆分数字 3 = 2+1,3=1+1+1
usdoc文档在线预览解析
博客等级 码龄9年 49粉丝 65原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值