![如何解决任务计划中未运行的任务?](https://linux22.com/image/1545399/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3%E4%BB%BB%E5%8A%A1%E8%AE%A1%E5%88%92%E4%B8%AD%E6%9C%AA%E8%BF%90%E8%A1%8C%E7%9A%84%E4%BB%BB%E5%8A%A1%EF%BC%9F.png)
任务安排让我抓狂。
我用 C# 创建了一个控制台应用程序,它将“Hello World”写入 .txt 文件。然后我创建一个新的任务计划来运行它。在我的 PC 上一切都很完美,然后我将其移动到开发服务器,也运行正常。
现在,当我在客户端的服务器(Windows Server 2016)上创建相同的任务计划时,事情变得复杂了:
- 任务可以第一次运行,并且可以多运行3-4次。
- 突然,任务不再运行,上次运行时间没有改变(刷新列表)。
- 最后结果总是“操作成功完成 (0x0)”。
- 历史记录选项卡中没有任何异常。
- 控制台不会在任务管理器中继续运行
所以自从上次(很久以前)它成功运行以来,它就再也没有运行过,没有错误,没有异常,什么都没有,我不知道它为什么会发生故障。
以下是我所有的任务设置,我希望有人能指导我,我相信这只是一个小问题:
答案1
您的问题是您的任务没有停止,因此当运行新任务时,它会检测到以前正在运行的任务并因此中止启动。
假设您已设置:如果任务运行时间超过 3 天则停止该任务,则该任务将运行 3 天。假设该任务设置为全天重复,则该任务将运行 4 天。
有几种方法可以实现此目的,但我的建议是按如下方式设置任务:
将计划从每日更改为:在计算机启动时根据需要重复任务,并将重复周期设置为无限期不设置任务在 3 天后自动停止。
这应该会产生预期的效果。请注意,如果您或其他人停止该任务,该任务将不会再次运行,直到下次重新启动,因此除非迫不得已,否则不要停止该任务。
最后,设置:如果任务已在运行,则终止前一个任务并启动新实例。确保任务运行时间不超过延迟时间,否则会发生奇怪的事情。众所周知,使用任务计划程序,任务可以正常完成,但任务计划程序不会检测到这一点,并保持其运行。