我有一个任务/脚本,我需要不停地运行。
但是,我已经设置了任务,并且我一直在尝试运行它。它确实运行,但在我刷新任务后,它停止,显示“就绪”,并显示“任务已完成”。
问题是,我以前能够做到这一点,并且它继续运行。
我的问题是,如何让 Task Scheduler 继续不间断运行?任何帮助,将不胜感激。
Task-Scheduler 不能自动等待正在执行的每个派生进程/应用程序。一旦主句柄“完成”,任务就被认为已完成,并且它的状态变为就绪,即使后台仍有东西在运行。
例子:
考虑两个任务,执行以下操作:
cmd.exe
,参数:/c pause
cmd.exe
,参数:/c "start cmd.exe /c pause"
在第 1 种情况下,taskscheduler 会说“正在运行”,直到 cmd 窗口关闭。(您要求的是什么?)案例 2 从第一个 cmd 窗口中调用一个操作。因此,即使第二个 cmd 窗口保持打开状态,taskscheduler 本身创建的进程也会终止 - 因此它认为执行已完成并切换回“就绪”。
所以:确保在所有工作完成之前,由任务调度程序启动的主进程(以及可能调用其他进程)不会结束。
在上面的例子中,这可以像
cmd.exe
,参数:/c "start /wait cmd.exe /c pause"
窗口 2 将被“暂停”,窗口 1 等待窗口 2 关闭,使该进程处于活动状态。因此,任务调度程序一直显示“正在运行”。
要提供不那么通用的答案,您应该使用更多信息更新您的问题:您正在执行什么任务?它是什么样的脚本?你的任务设置是什么,你的预期行为是什么?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句