c# 服务程序重启自身】的更多相关文章

由于工作有这样的需求,于是各种寻找,但是都不满意,偶然间想起一个方法 1.修改服务的Program.cs文件如下 static void Main(string[] args) { //LoadFile(); ) { ServiceBase[] servicesToRun; servicesToRun = new ServiceBase[] { new ServiceClient() }; ServiceBase.Run(servicesToRun); } && System.Text.R…
这几天上网翻阅了不少前辈们的关于iis和asp.net运行原理的博客,学的有点零零散散,花了好长时间做了一个小结(虽然文字不多,但也花了不少时间呢),鄙人不才,难免有理解不道的地方,还望前辈们不吝赐教. 这篇博客主要是描述asp.net程序在iis6.0上的一个执行过程. 执行过程图: 组件描述 HTTP.SYS: Win2003和winXP SP2的核心操作系统组件,,能够让任何应用程序通过它提供的接口,以http协议进行信息通讯. 优点: 缓存-静态的内容被缓存于内核模式下,这使服务响应速度…
ASP.NET请求与处理全过程分析 1.用户向服务器的某IP端口发送请求,此端口通过Http.sys来管理,请求报文被Http.sys接收,Http.sys在注册表中找能处理这个请求类型的应用程序,最终找到IIS,请求被提交到IIS服务器处理,IIS判断请求的类型. 如果请求的是静态文件,那么IIS会直接处理,在本地找到请求的静态文件,然后发送给浏览器. 如果是动态文件,如aspx或者ashx等动态文件,IIS就会去它的映射表里面去找,实现它接口的那个扩展程序可以处理这样的动态文件,然后IIS发…
在搭建搭建分布式系统时,基础组件与框架的重要性不言而喻.但是如果组件出现bug,真的很要命.虽然我们通过各种单元测试,拼命找bug,但是总有一些问题被盲目自信蒙蔽了双眼,很多时候我们认为这段代码100%没有问题,但是我想说,没有100%没有问题的代码,只有你没想到的应用场景.下面就说一下最近技术组件出现的一次离奇的故障. 开始之前,先看看这个服务的压力,大约每分钟3700左右的样子,折合成TPS也就不到100的样子. 问题现象是,当服务程序重启后,系统一直没有结束的任务,并且线程持续增长,直到线…
本文By 杨工. 一. Http.sys http.sys 从Win2003和WinXP SP2开始,就成为windows操作系统内核驱动程序,能够让任何应用程序通过它提供的接口,以http协议进行信息通讯. 如果用户不慎删除了该驱动文件,该驱动会在下次系统启动时重建.是一个删除不掉的系统核心组件,手动结束该驱动,该驱动也会马上重新创建(只有粉碎文件才不能马上重建,但粉碎后,下次启动会重建). 新的Http.sys带来的好处大致有如下一些: 1. 缓存 - 静态的内容现在被缓存于内核模式下,这使…
PXE预启动执行环境(即Preboot execute environment) 是一种能够让计算机通过网络启动的引导方式,只要网卡支持PXE协议即可使用,用于在无人值守安装系统服务中引导客户机安装服务.Kickstart是一种无人值守的安装方式,工作原理就是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg文件,当安装过程中出现需要填写参数时则自动匹配Kickstart生成的文件,所以只要Kickstart文件包含了安装过程中所有需要人工填写的参数,那么理论上来讲运维人员就完全不需要再…
http.sys 是一个位于Win2003和WinXP SP2中的操作系统核心组件, 能够让任何应用程序通过它提供的接口,以http协议进行信息通讯. 温馨提示:如果用户不慎删除了该驱动文件,不用担心,该驱动会在下次系统启动时重建.是一个删不掉的系统核心组件!实用程序结束该驱动,该驱动也会马上重新创建(只有粉碎文件才不能马上重建,但粉碎后,下次启动会重建). 微软在Windows 2003 Server里引进了新的HTTP API和kernel mode driver Http.sys,目的是使…
http.sys 是一个位于Win2003和WinXP SP2中的操作系统核心组件, 能够让任何应用程序通过它提供的接口,以http协议进行信息通讯. 温馨提示:如果用户不慎删除了该驱动文件,不用担心,该驱动会在下次系统启动时重建.是一个删不掉的系统核心组件!实用程序结束该驱动,该驱动也会马上重新创建(只有粉碎文件才不能马上重建,但粉碎后,下次启动会重建). 微软在Windows 2003 Server里引进了新的HTTP API和kernel mode driver Http.sys,目的是使…
1 rsync简介 1.1 什么是rsync rsync: - a fast, versatile, remote (and local) file-copying toolrsync:是一种快速,多功能,远程和本地文件拷贝的工具rsync --version:查看rsync软件版本备份服务重要性:  企业中所有要进行操作的数据文件,一定操作前备份.   企业备份数据方法:重要数据需要保存在专门备份服务器上  第三方网盘存储. 1.2 rsync特点 可以实现全量和增量备份 1.2.1 全量和增…
实时同步lsyncd 1 lsyncd 1.1 lsyncd 简介 Lsyncd使用文件系统事件接口(inotify或fsevents)来监视对本地文件和目录的更改.Lsyncd将这些事件整理几秒钟,然后生成一个或多个进程以将更改同步到远程文件系统.默认同步方法是rsync Lsyncd是一种轻量级的实时镜像解决方案.Lsyncd相对容易安装,不需要新的文件系统或块设备.Lysncd不会妨碍本地文件系统性能,可以通过配置文件实现细粒度的自定义.自定义操作配置甚至可以从头开始编写,从shell脚本…
time-wait的产生: 在TCP连接中四次挥手关闭连接时,主动关闭连接的一方(上图中时Client)会在发送最后一条ACK报文后维持一段时长2MSL(MSL指的是数据包在网络中的最大生存时间)的等待时间后才会真正关闭连接到CLOSED状态,该时间段内主动关闭方的状态为TIME_WAIT.即在TIME_WAIT状态时,定义这个连接的四元组(源/目的IP.源/目的端口)不能被使用. time_wait存在的原因: 为实现tcp连接的可靠释放 情况一: 若主动断开连接方(上图中Client)最后一…
1 rsync简介 1.1 什么是rsync rsync: - a fast, versatile, remote (and local) file-copying toolrsync:是一种快速,多功能,远程和本地文件拷贝的工具rsync --version:查看rsync软件版本备份服务重要性:  企业中所有要进行操作的数据文件,一定操作前备份.   企业备份数据方法:重要数据需要保存在专门备份服务器上  第三方网盘存储. 1.2 rsync特点 可以实现全量和增量备份 1.2.1 全量和增…
1.背景 如果你想用Python开发Windows程序,并让其开机启动等,就必须写成windows的服务程序Windows Service,用Python来做这个事情必须要借助第三方模块pywin32,自己去下载然后安装(注意下载符合自己OS的版本) 2.实例 先上代码 #encoding=utf-8 import win32serviceutil import win32service import win32event import os import logging import insp…
背景:        要学习使用一个新东西,我们必须知道他是个什么东西.对于我们此次研究的windows服务来说,他又是个什么东西,其实也没有什么高深的了. windows service概述: 一个Windows服务程序是在Windows操作系统下能完成特定功能的可执行的应用程序.Windows服务程序虽然是可执行的,但是它不像一般的可执行文件通过点击一下就直接可以运行,它有它特殊的启动方式.这些启动方式包括了自动启动和手动启动两种方式. 对于自动启动的Windows服务程序,它们在Windo…
自己用DELPHI做了个小的服务在后台运行,帮助自己做一些琐事,今天修改了一下代码结果重启服务的时候一直还是以前的状态,新加的代码没任何效果. 1.检查程序没问题呀 2.关闭SSD缓存硬盘问题仍旧 3.停止服务并删除%windir%\SYSTEM32\ 下面的服务程序手动COPY行的EXE文件重启服务问题仍旧 4.删除服务重新安装服务还是一样 net stop T430u %windir%\SYSTEM32\serverT430.exe /uninstall del %windir%\SYSTE…
[转]http://www.cnblogs.com/bluestorm/p/3510398.html Windows Service简介: 一个Windows服务程序是在Windows操作系统下能完成特定功能的可执行的应用程序.Windows服务程序虽然是可执行的,但是它不像一般的可执行文件通过双击就能开始运行了,它必须有特定的启动方式.这些启动方式包括了自动启动和手动启动两种.对于自动启动的Windows服务程序,它们在Windows启动或是重启之后用户登录之前就开始执行了.只要你将相应的Wi…
编写 Window 服务程序     一.直观认识Windows服务.        打开Windows“控制面板/管理工具/服务”,系统显示Windows服务列表.                    双击服务,可以显示和更改服务属性.在这个对话框中,可以控制服务的启动.暂停和停止.在这里还可以配置服务的启动类型,令服务在系统启动时自行启动.因此,Windows服务经常作为服务器程序运行.                  在故障恢复这个属性页,可以配置该服务失败后系统的相应.一些病毒程序就…
服务一般都能正常的运行,但有时候也会有一些假死现象,比如公司有一考勤服务就因为依赖于硬件厂家的api, 但厂家api运行一段时间后会默名的假死,引起整个服务假死,因为这一假死现象具有不确定性,所以不太可能 看到假死后手动去进行启动. 目前本人知道的有两种方法解决这种情况: 1.写另一个服务,对此当前服务进行监听[需要一些共同数据来判断是否为假死],一但发现假死,进行重新启动2.利用服务本身进行重启. a.打开 控制面板->管理工具->服务,找到需要自动重启服务,点击右键->属性,点击 恢…
Windows 服务被设计用于需要在后台运行的应用程序以及实现没有用户交互的任务.为了学习这种控制台应用程序的基础知识,C(不是C++)是最佳选择.本文将建立并实现一个简单的服务程序,其功能是查询系统中可用物理内存数量,然后将结果写入一个文本文件.最后,你可以用所学知识编写自己的 Windows 服务. 当初我写第一个 NT 服务时,我到 MSDN 上找例子.在那里我找到了一篇 Nigel Thompson 写的文章:“Creating a Simple Win32 Service in C++…
如何保证服务一直运行?如何保证即使服务挂掉了也能自动重启?在写服务程序时经常会碰到这样的问题.在Linux系统中,强大的shell就可以很灵活的处理这样的事务. 下面的shell通过一个while-do循环,用ps -ef|grep 检查loader进程是否正在运行,如果没有运行,则启动,这样就保证了崩溃挂掉的进程重新被及时启动. 必须注意两点: 1.ps |grep 一个进程时必须加上其路劲,否则容易grep到错误的结果: 2.必须用 -v 从结果中去除grep命令自身,否则结果非空. 复制代…
DELPHI编写服务程序总结 一.服务程序和桌面程序的区别 Windows 2000/XP/2003等支持一种叫做“系统服务程序”的进程,系统服务和桌面程序的区别是:系统服务不用登陆系统即可运行:系统服务是运行在System Idle Process/System/smss/winlogon/services下的,而桌面程序是运行在Explorer下的:系统服务拥有更高的权限,系统服务拥有Sytem的权限,而桌面程序只有Administrator权限:在Delphi中系统服务是对桌面程序进行了再…
鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始*********/ 系统环境:Centos 6.5 第一步:通过yum命令安装svnserve,命令如下: >yum -y install subversion 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行 若需查看svn安装位置,可以用以下命令: >rpm -ql subver…
今天发现服务器上的一个服务程序出现问题,软件抛出:Connection reset by peer: socket write error 无法正常提供服务,找了一下原因,原来是因为数据库服务器重启,连接池里的数据库连接connection无法创建新的Statement,导致无法提供正常服务. 到百度搜索了一下,看到一篇文章与我遇到的问题类似,解决办法虽然看上去不是很好的办法,但也实用: 解决思路:在使用前创建一个Statement,如果抛出异常,说明connection已断开,重新连接. if…
python实现windows Service服务程序 win32serviceutil.ServiceFramework是封装得很好的Windows服务框架,本文通过继承它来实现. 通过SvcDoRun方法,实现服务启动,运行服务内的业务代码. 通过SvcStop方法,停止服务. WinPollManager.py代码如下: import win32serviceutil import win32service import win32event import winerror import…
C# 编写Windows Service(windows服务程序)   Windows Service简介: 一个Windows服务程序是在Windows操作系统下能完成特定功能的可执行的应用程序.Windows服务程序虽然是可执行的,但是它不像一般的可执行文件通过双击就能开始运行了,它必须有特定的启动方式.这些启动方式包括了自动启动和手动启动两种.对于自动启动的Windows服务程序,它们在Windows启动或是重启之后用户登录之前就开始执行了.只要你将相应的Windows服务程序注册到服务控…
一.Windows服务介绍: Windows服务以前被称作NT服务,是一些运行在Windows NT.Windows 2000和Windows XP等操作系统下用户环境以外的程序.在以前,编写Windows服务程序需要程序员很强的C或C++功底.然而现在在Visual Studio.Net下,你可以运用C++或Visual C#或Visual Basic.Net很轻松的创建一个Windows服务程序.同样,你还可以运用其他任何与CLR相容的语言来创建Windows服务程序.本文就向大家介绍如何运…
目录 目录 1 1. 官网 1 2. 功能 1 3. 环境要求 2 4. 实现原理 2 5. SIGHUP信号处理 3 6. 重启线程 4 7. 重启目标程序 5 8. 系统调用钩子辅助 6 9. 被勾住系统调用exit 6 10. 被勾住系统调用listen 7 11. Symbol Versioning 8 12. 勾住bind等系统调用 10 13. 系统调用过程 13 14. 测试代码 13 14.1. Makefile 13 14.2. s.c 14 14.3. s.map 14 14…
Golang开发支持平滑升级(优雅重启)的HTTP服务 - tabalt的博客 http://tabalt.net/blog/graceful-http-server-for-golang/ https://github.com/tabalt/gracehttp Golang开发支持平滑升级(优雅重启)的HTTP服务 2016-01-28       前段时间用Golang在做一个HTTP的接口,因编译型语言的特性,修改了代码需要重新编译可执行文件,关闭正在运行的老程序,并启动新程序.对于访问量…
前段时间折腾了一次WSL下的Apache,无奈遇到各种奇葩问题,总是解决不了,最终放弃,甚至得出了一个现在看来比较可笑的结论:WSL是不可能跑Linux服务程序的! 当时的思路想歪了,由于Apache启动时报的一个错误“IN6_IS_ADDR_V4MAPPED”,就一直往IPV6的方向折腾,觉得WSL是不支持IPV6的,所以最终没搞定!不过当时按照网上的说法,禁用了Win10的IPV6之后,重启系统确实Apache服务可以正常启动了,但启动之后貌似正常监听了80端口,但页面依然不能访问!至此我就…
3个步骤: 1.安装器代码编写 2.安装器工具类编写 1)安装.启动服务) 2)卸载服务 3.windows服务程序编写(参考:多线程.方便扩展的Windows服务程序框架) 4.代码下载,在文末(注意对照博文看代码) 链接:http://pan.baidu.com/s/1qXH657e 密码:6tw2 1.安装器 using System; using System.Collections.Generic; using System.ComponentModel; using System.D…