设置windows服务依赖项

  场景还原:python2.7开发的项目,制作成了windows服务,随系统启动。系统重启后发现服务未能自动启动,检查事件查看器日志发现服务先于Mysql数据库服务启动,由于服务中必须对MySQL进行访问,所以服务启动失败。尽管设置了启动失败后尝试重启,但是不能让项目服务自启动。

问题详述:1.xp系统不能设置服务“自动(延迟)”模式

2.服务先于MySQL服务启动。在代码中设置了睡眠,但是windows的服务机制是系统会在服务自启一段时间(未验证,但是一定有)要求服务返回服务状态(是否已经运行)。如果此时程序睡眠无响应,系统会认为服务启动失败。实际上程序会在经历了睡眠之后启动,此时服务状态已被认定为未启动,所以系统只提供启动按钮,服务变成了系统无法控制的进程,无法打开也无法关闭,只能通过杀死进程来停止程序。

解决方案:

1.打开注册表(win+r   regedit),打开 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services路径。

2.找到自己需要设置依赖项的服务,新增/修改 多字符串值:DependOnService。值为先于服务启动的服务或程序。

注:

sc conifg 服务名 depend= "依赖项" ,此cmd命令貌似不很靠谱,可能书写有误吧。

时间: 2024-11-05 14:58:49

设置windows服务依赖项的相关文章

设置Windows服务的访问权限

作者:beyond 默认情况下,只有管理员组成员.LocalSystem和Power Users组成员帐户才有权启动.停止服务.为了让普通用户也可以控制该服务,我们可以手动设置其访问权限.可能有些初学者会感到奇怪,怎么服务也可以设置权限?其实在Windows系统里,不仅可以对文件夹设置权限,还可以对注册表.打印机和服务等系统资源进行权限设置.然而对服务进行权限设置,没有对文件夹进行权限设置那么直观,需要借助以下两种方法: 安全配置和分析 (1)以管理员身份登录系统,在运行对话框里输入mmc并回车

玩转Windows服务系列——Windows服务启动超时时间

最近有客户反映,机房出现断电情况,服务器的系统重新启动后,数据库服务自启动失败.第一次遇到这种情况,为了查看是不是断电情况导致数据库文件损坏,从客户的服务器拿到数据库的日志,进行分析. 数据库工作机制 要分析数据库启动失败的原因,首先说明一下数据库服务的工作机制. 数据库分为六大服务: 数据库的六大服务之间存在依赖关系,及启动流程: 服务自动启动失败原因 从客户那里,拿到了两份日志,一份是开机自启动的日志信息,此次数据库启动失败.另外一份是开机后,手动启动数据库服务的日志信息,此次数据库启动成功

在WPF中使用.NET Core 3.0依赖项注入和服务提供程序

原文:在WPF中使用.NET Core 3.0依赖项注入和服务提供程序 前言 我们都知道.NET Core提供了对依赖项注入的内置支持.我们通常在ASP.NET Core中使用它(从Startup.cs文件中的ConfigureServices方法开始),但是该功能不限于此框架,我们可以在WPF和Windows Forms应用程序中使用它. 实践 新建项目 将所需的NuGet包添加到项目中. Microsoft.Extensions.DependencyInjection Microsoft.E

Windows服务设置

[服务列表]services.msc [注册服务] 描述:在注册表和服务数据库中创建服务项. 用法:sc <server> create [service name] [binPath= ] <option1> <option2>... 选项: 注意: 选项名称包括等号.等号和值之间需要一个空格. type= <own|share|interact|kernel|filesys|rec>    (默认 = own) start= <boot|syste

windows下把jupyter设置成服务

每次想写python代码时,都需要打开IDE进行编写,并且需要创建许多小文件.如果使用jupyter就能够直接书写.但是jupyter需要手动通过控制台打开,这不够方便.通过把jupyter notebook设置成服务,就能够直接打开本地网页,直接书写python代码了. 一.介绍 srvany.exe是Microsoft Windows Resource Kits工具集的一个实用小工具,用于将EXE程序作为Windows服务运行.srvany是其注册程序的服务外壳,我们可以通过它让我们的程序以

VS中包含目录、附加依赖项、库目录及具体设置

包含目录:#include <headerfile.h>中headerfile.h的搜索目录. 如果有XXX.h找不到,设置这个目录可以解决. 附加依赖项:C++的库会把函数.类的声明放在*.h中,实现放在*.cpp或*.cc中.编译之后,*.cpp,*.cc,*.c会被打包成一个.lib文件,这样可以保护源代码. 所以,要使用一个库,除了要include他的头文件以外,还要在链接过程中把lib加进去.这个就是在附加链接库中设置. 其实,一般的库会用#pragma comment(lib,&q

C#开发的Windows服务安装时需要“设置服务登录”

C#开发的Windows服务在安装的过程中会弹出一个"设置服务登录"对话框,要求输入用户名和密码.此时用户名和密码的形式必须以域用户的形式输入,如果没有加入域,用户名要用.\username 的格式,否则会提示错误. 注:需要设置服务登录,是因为serviceProcessInstaller的Account设置为User了,修改为LocalService安装Windows服务就不需要设置账号密码了.

VC包含目录、附加依赖项、库目录及具体设置

包含目录:#include <headerfile.h>中headerfile.h的搜索目录. 如果有XXX.h找不到,设置这个目录可以解决. 附加依赖项:C++的库会把函数.类的声明放在*.h中,实现放在*.cpp或*.cc中.编译之后,*.cpp,*.cc,*.c会被打包成一个.lib文件,这样可以保护源代码.所以,要使用一个库,除了要include他的头文件以外,还要在链接过程中把lib加进去.这个就是在附加链接库中设置.其实,一般的库会用#pragma comment(lib,&quo

Tomcat 加入windows 服务自启动设置

基于J2ee技术开发,可以运行在Tomcat.weblogic.websphere等J2ee应用服务器上,对于一般访问量不是很高的客户我们推荐使用Tomcat(开源免费),一般情况下Tomcat服务需要手动运行批命令启动服务.在windows操作系统下如果需要将Tomcat变成自动启动的服务,只需按以下步骤操作即可:1.在环境变量中设置JAVA_HOME(假设我们缺省的JDK目录为d:\j2sdk1.4.2_04)A.进入windows桌面,右键选择“我的电脑”-->“属性”B.选择“高级”页签