Windows计划的任务无法完成,错误代码为0xc000013a


11

我使用的是Windows Server 2003,并且安排的任务无法完成。该任务设置为每天下午3点运行Windows命令脚本(.cmd)。该脚本运行一个程序,该程序从SQL Server数据库中提取一些数据并将该数据上载到FTP服务器。

计划任务文件夹的“最后结果”列中显示的错误代码为0xc000013a。快速的Google搜索导致该Microsoft支持页面显示:最常见的“ C”错误代码为“ 0xC000013A:应用程序由于CTRL + C而终止”。

在任务运行时,没有人登录,因此按CTRL + C时没有人登录。我不确定我是否理解Microsoft文档中在这里所说的内容。

我已经检查了基本的内容-已启用计划任务,计划每天运行,并指向有效位置中确实存在的文件。有趣的是,当我手动运行此任务时(通过从命令行运行.cmd脚本,或右键单击该任务并单击“运行”),该任务成功完成。

该错误代码是什么意思,当我不强制执行此任务时如何使其运行?


尝试自己将退出代码添加到最终脚本中(例如exit 0)。如果仍然失败,那它本身就是失败。如果不是,那只是任务调度程序误解的虚假退出代码。
bjoster

Answers:


6

对预定脚本进行故障排除:

  1. 如果还没有,请在GUI的Advanced > View Log查看Scheduled Tasks日志文件。在文件中搜索“ ”以找到最新的条目,您可能会看到一些额外的错误信息。***

  2. 定义一个日志文件以捕获输出,然后在其中发送标准输出和标准错误。将所有回声从OFF更改为ON,以确保您没有抑制任何错误消息。
    例如,如果调用了脚本,ftp.data.cmd则计划的任务可能如下所示,

    cmd /c ftp.data.cmd >> ftp.data.log 2>&1

  3. 脚本挂了吗?在指定的一段时间后,任务计划程序可能会终止脚本(因此会出现CTRL + C错误代码)。在策略中的战略要点添加一些,

    echo %DATE% %TIME%

  4. 您确定运行脚本的帐户是否具有权限/访问脚本中的所有内容?

  5. 如果您不满意,请运行此命令并在此处发布输出,也许我们可以从排定开始,

    schtasks /query /v /fo LIST /s YOURSERVER


4

我无法直接回答该问题,因为我不知道错误消息的具体含义(也不是如何解决),但是,如果我要对其进行故障排除,我会在以下位置向日志文件中添加一些写入:脚本中的战略要点,然后在计划的时间之后查看要运行的最后一个检查点是什么。

我怀疑是由于脚本在其下运行的凭据导致某些故障,或者脚本中的某些操作需要登录的用户。缩小脚本失败的位置可能会帮助您找到“违规”代码。


2

我意识到这是一个过时的帖子,但是它们在搜索解决方案时非常有帮助,也许我发现的内容也可能会有所帮助。我在Windows Server 2003上使用WinSCP上载到ftp服务器,并收到相同的错误消息,即使我给了任务,“如果停止运行,则停止任务”部分中的SchedLgU.txt文件指出时间不足。有足够的时间上传。

在任务管理器中查看时,我可以看到WinSCP.exe未被清除,并且列表中有很多进程,因此我创建了一个批处理文件(taskkill / f / im winscp.exe)来杀死所有打开的进程,我在WinSCP之前运行该批处理文件,现在可以正常运行了。


2

我今天在远程服务器上遇到了这个问题,解决方案是将运行设置从“仅在用户登录时运行”更改为“无论用户是否登录都运行”。

通过“仅在用户登录时运行”,该任务将启动一个命令窗口,该窗口在我的远程桌面会话超时时关闭。使用“无论用户是否登录都运行”,在任务运行时不会显示任何窗口,因此当我的远程桌面会话结束时,执行不会停止。


1

与cori的答案类似,我建议您检查将计划的任务设置为谁运行,因为我已经看到当运行任务的用户帐户与登录用户的权限不同时会发生此错误


1

如果之前执行过此操作,则可能是诸如网络中断或另一台主机出现问题之类的情况可以解释故障。


1

我有同样的错误,这是因为我正在运行的批处理文件正在提示您使用DEL命令删除某些文件。由于没有用户回答是/否来进行批处理,因此计划任务终止。以下是我在计划任务日志中找到的消息:“任务已终止。此操作由管理员或任务计划程序服务启动(例如,由于计算机现在处于非空闲状态)。” 我的建议是从命令提示符处手动运行该任务,以查看它在哪里停止或提示某些用户交互,然后对其进行更正,这样您的任务就可以正常运行。


1

如果您尝试在Task Scheduler控制下运行程序,则System.Environment.CurrentDirectory将返回C:\ Windows \ System32,而不是可执行文件所在的位置。该错误可以是找不到文件的错误。我试图登录到一个子目录,而该子目录在System32树中不存在。


0

在我的脚本中,这很清楚。发生这种情况的原因是我在批处理文件的末尾有“暂停”并且计划的任务限制为20分钟。当用户在场时,hi可以看到工作流程。如果不是,则批处理文件会在20分钟后被计划任务终止。这造成了0xc000013a,这没关系。


0

我遇到了同样的问题,并通过将触发器从“系统启动时”更改为“登录时”来解决了该问题。


0

有同样的问题..通过与注册用户一起运行计划任务来解决。最后,更改域名就是答案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.