windows服务程序运行时错误显示“错误1053服务没有及时响应启动或控制请求。”怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows服务程序运行时错误显示“错误1053服务没有及时响应启动或控制请求。”怎么办?相关的知识,希望对你有一定的参考价值。

参考技术A 你可能需要在onStart()方法里另起一个线程,在这个线程里可以while(true).\\x0d\\x0a protected override void OnStart(string[] args)\\x0d\\x0a \\x0d\\x0a // TODO: Add code here to start your service.\\x0d\\x0a if (threadforwork == null)\\x0d\\x0a \\x0d\\x0a threadforwork = new Thread(workFunction);\\x0d\\x0a \\x0d\\x0a threadforwork.IsBackground = true;\\x0d\\x0a threadforwork.Start();\\x0d\\x0a \\x0d\\x0a在onStop()里面将线程杀掉\\x0d\\x0a protected override void OnStop()\\x0d\\x0a \\x0d\\x0a // TODO: Add code here to perform any tear-down necessary to stop yourservice. \\x0d\\x0a if (threadforwork != null)\\x0d\\x0a \\x0d\\x0a if (threadforwork.ThreadState == System.Threading.ThreadState.Running)\\x0d\\x0a \\x0d\\x0a threadforwork.Abort();\\x0d\\x0a \\x0d\\x0a \\x0d\\x0a \\x0d\\x0a

Windows 2008 服务器任务调度程序不运行 .bat 批处理作业 [关闭]

【中文标题】Windows 2008 服务器任务调度程序不运行 .bat 批处理作业 [关闭]【英文标题】:Windows 2008 server task scheduler does not run .bat batch job [closed] 【发布时间】:2011-07-02 09:21:39 【问题描述】:

我在 Windows 2008 服务器上有一个批处理文件,当从命令行调用它时工作正常。但是,当我设置一个计划任务来运行这个作业时,它不能正常工作。

任务调度程序确实显示任务正在定期运行,它没有显示任何错误。但是,批处理文件不处理它应该处理的内容。

欢迎任何有关如何解决此问题的想法

【问题讨论】:

bat 文件设置在哪个用户下运行?它可能没有所需的权限。它不会显示任何错误但不会运行。 【参考方案1】:

Windows Server 2008 不会运行批处理文件中带有引号 " 的任何批处理文件。 见http://technet.microsoft.com/en-us/library/dd851678.aspx

【讨论】:

这家伙应该拿奖牌!!!多亏了这个答案,我才能使一切正常。我发现一个简单的解决方法是:您创建另一个批处理文件,您应该将其命名为“DummyCaller.bat”,只有一行:调用您的另一个批处理文件(例如:调用 mybatch.bat)。 MyBatch.bat 是您的原始 bat 文件,其中包含引号并且不起作用。但是,如果你这样称呼它,它就完美了。 或者你可以在这里下载修复程序support.microsoft.com/kb/951246【参考方案2】:

我遇到了类似的问题,当我在“程序/脚本”字段中有完整的文件路径时,我的 .bat 文件无法正确执行。

"D:\path\to\file\somebat.bat" 没有执行。 (带引号)

当我将 D:\path\to\file\(不带引号)放在 Start in (optional): 字段和 somebat.bat 中的 Program/script: 字段 somebat.bat 正确执行。

想一想...不完全确定为什么在 Program/script: 中包含 "D:\path\to\file\somebat.bat" 不起作用。

也许有人可以对此有所了解?

【讨论】:

非常感谢!我一直在上下调整我的 .bat 文件及其所在文件夹的所有权限设置,但在尝试此技巧之前没有任何效果。 这是对我有用的答案。谢谢! 就是这样,尽管从另一个工作正常的任务中复制。真是浪费时间。感谢您的回答。【参考方案3】:

就我而言,我有“无论用户是否登录都运行”。当我更改为“仅在用户登录时运行”时,它工作正常。

【讨论】:

【参考方案4】:

确保任务在具有必要权限的帐户下运行。当您直接从命令行运行批处理脚本时,它会在您的用户帐户下运行,该用户帐户的权限可能与用于计划任务的默认帐户不同。

【讨论】:

任务以管理员身份运行。我看到一篇文章说如果组有权访问目录是不够的,用户应该可以直接访问目录。所以,我也这样做了。行为没有变化 如何更改批处理脚本以在操作完成时写入日志文件。这样您就可以缩小到导致错误的步骤。

以上是关于windows服务程序运行时错误显示“错误1053服务没有及时响应启动或控制请求。”怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

错误1053:服务没有及时响应启动或控制请求

启动“Distributed Transaction Coordinator”服务 错误1053

启动运行 Mongo DB 1.6.3 的 Windows XP 服务时出现错误 1053

Windows无法启动MySQL服务,错误 1053

错误 1053 服务没有响应启动或控制请求

Windows 无法在本地计算机上启动 SQL Server (SQLEXPRESS) 服务。错误 1053