我正在使用Windows Server 2003,并有一个计划任务无法完成。 该任务设置为每天下午3点运行Windows命令脚本(.cmd)。 该脚本运行一个程序,从SQL Server数据库中提取一些数据,并将该数据上传到FTP服务器。
预定任务文件夹的“最后结果”列中显示的错误代码是0xc000013a。 快速谷歌search导致这个微软支持页面 ,指出:最常见的“C”错误代码是“0xC000013A:应用程序终止作为CTRL + C的结果”。
没有人在任务运行时login,所以没有人按CTRL + C。 我不确定我是否理解Microsoft文档中所说的内容。
我已经检查了基本的东西 – 计划任务已启用,计划每天运行,并指向存在于有效位置的文件。 有趣的是,当我手动运行这个任务(通过从命令行运行.cmd脚本,或者通过右键单击任务并单击“运行”),任务成功完成。
这个错误代码是什么意思,我怎样才能让这个任务运行,当我不在那里强迫它?
排定预定的脚本
如果还没有,请在GUI下的高级 > 查看日志中检查计划任务日志文件。 search文件“ *** ”以查找最新的条目,并且您可能会看到一些额外的错误信息。
定义一个日志文件来捕获输出,并在那里发送标准输出和标准错误。 改变任何回声closures 回声 ,以确保你没有抑制任何错误信息。
例如,如果您的脚本被称为ftp.data.cmd则您的计划任务可能如下所示,
cmd /c ftp.data.cmd >> ftp.data.log 2>&1
脚本挂了吗? 也许任务调度程序正在杀死脚本(因此CTRL + C错误代码)在一段指定的时间之后。 在你的scipt的战略点添加一些这些,
echo %DATE% %TIME%
您确定运行该脚本的帐户拥有对脚本中所有内容的访问权限吗?
如果你不能得到任何的喜悦,运行这个命令并在这里发布输出,也许我们可以从调度开始,
schtasks /query /v /fo LIST /s YOURSERVER
我不能直接回答这个问题,因为我不知道错误信息是什么意思(也就是说,如何解决这个问题),但是如果我试图解决它,我会在一个日志文件中添加一些写在脚本中的战略要点,然后在预定的时间之后,看看最后一个检查点运行的是什么。
我的怀疑可能是由于脚本运行的凭据或脚本中的某些内容需要login的用户而导致失败。 缩小脚本中失败的位置可能会帮助您find“违规”代码。
我意识到这是一个旧的post,但他们在search解决scheme时非常有帮助,也许我发现也可以有所帮助。 我在Windows Server 2003上使用WinSCP上传到FTP服务器,并收到相同的错误消息和SchedLgU.txt文件指出没有足够的时间在“停止任务,如果加热:”部分即使我给任务有足够的时间上传。
在任务pipe理器中,我可以看到,WinSCP.exe没有被清除,我在列表中有大量的进程,所以我创build了一个batch file(taskkill / f / im winscp.exe)来终止任何打开的进程。让该batch file在WinSCP之前运行,现在它运行良好。
类似于科里的答案,我会build议您检查谁设置的计划任务运行,因为我已经看到这个错误发生时,运行任务的用户帐户不具有login用户相同的权限
如果之前运行,也许像networking中断或其他主机上的问题可以解释失败。
我有同样的错误,这是因为我运行的batch file是提示用DEL命令删除一些文件。 由于没有用户回答Y / N进行批处理,所以计划任务被终止。 以下是我在计划任务日志中find的消息:“任务已终止。此操作由pipe理员或任务计划程序服务启动(例如,因为计算机现在不是空闲的)”。 我的build议是从命令提示符手动运行任务,看看它停止或提示用户交互,纠正它,你的任务将运行良好。
如果您尝试在“任务计划程序”控制下运行该程序,System.Environment.CurrentDirectory将返回C:\ Windows \ System32,而不是您的可执行文件所在的位置。 这个错误可能是文件未find的错误; 我试图login到一个子目录,它不存在于System32树中。
在我的脚本,这是明确的。 发生这种情况的原因是我在batch file的末尾“暂停”,并将计划任务限制为20分钟。 当用户在场时,您可以看到工作stream程。 当不是batch file被计划任务终止时,20分钟后。 这是造成0xc000013a,这没关系。
我有同样的问题,并通过将触发器从“在系统启动”更改为“在login”来解决它。
有同样的问题..通过与注册的用户玩定时运行计划的任务。 最后,更改域名是答案。