任务计划程序显示任务正在运行,但实际上并没有运行

5
我正在尝试创建一个定时任务来运行批处理文件。我知道我的批处理文件可以正常运行,因为我手动运行它没有问题。然而,当任务调用它时,它会显示正在运行,但实际上并没有运行。我知道它没有运行的原因是因为它调用了一个Python脚本,而Python脚本发送了一封电子邮件,说明进程已经开始了。但我没有收到那封电子邮件。这个Python进程不会太长(最多可能需要5分钟),但任务在一个小时后仍然显示“正在运行”。
我当前的设置是“无论用户是否登录都要运行”(如果我将其设置为“仅在用户登录时运行”,似乎根本不起作用,因为即使我告诉它运行,状态也从“准备就绪”永远不会改变)。我还将设置为“以最高权限运行”,并将批处理文件的名称放在“程序/脚本”下,将批处理文件的路径放在“开始位置”下。我还想指出,我将用户帐户设置为“DOMAIN\Administrator”。
然而,我尝试了其他调用方法。我尝试将批处理文件的完整路径放在“程序/脚本”下(G:\GOM3_Update\FeatureServices\copies\test.bat),或者将python程序的路径放在其中,然后将python脚本的路径作为参数传递,但这似乎也不起作用。
我不确定这个问题是由Windows 10中的一些重要安全设置引起的,还是任务计划程序设置中的一些小问题。
以下是我的当前设置:

enter image description here

开始位置的完整路径为:"G:\GOM3_Update\FeatureServices\copies\"

enter image description here

批处理文件:
"C:\Users\Administrator.DOMAIN\AppData\Local\ESRI\conda\envs\arcgispro-py3-clone\python.exe" "G:\GOM3_Update\FeatureServices\copies\database.py"

如果你查看任务管理器,你是否看到cmd.exe正在运行?我猜测任务正在运行,但批处理文件“卡住”了——可能有一个错误消息你看不到。 - avery_larry
在大多数情况下,将文本发布到批处理文件中比截图更好。但是,在这种情况下,您的python.exe路径格式不正确。<DOMAIN>不应该出现在那里。 - somebadhat
完成以下任务后请给我留言:如果任务有多个操作,请删除“编辑操作”对话框的截图,并用“操作”选项卡的截图替换。在 cmd 窗口中手动运行您的批处理文件,分别使用管理员权限和普通权限运行。是否有区别? - somebadhat
请注意,Windows 10任务计划程序在没有交互的情况下不会刷新当前打开窗口的每个对象,因此您的任务是否未运行?还是您只是没有检查历史选项卡?由于电子邮件的不可靠性/时间滞后,建议您的Python脚本弹出一个消息到您的显示器上。 - somebadhat
@avery_larry 我看到它在运行,但是很快就消失了。 - earthsci0909
显示剩余3条评论
2个回答

2
我会在这里包含批处理文件的完整路径: 输入图像描述 根据我的个人经验,通常是环境问题,比如当前工作目录等。
另外,请确保在任务计划程序的右窗格中单击“刷新”按钮,因为众所周知,它不会更新任务的状态,除非您手动刷新。如果这样做,您可能会更快地看到它从“正在运行”变为“准备就绪”。 我觉得你的屏幕没有刷新的原因是因为通常任务计划程序不允许任何计划任务执行超过1小时,而你说你的在一个小时后仍然显示“正在运行”。
任务历史记录下的退出代码和消息是什么? 输入图像描述 退出代码0表示任务计划程序未捕获任何错误。
另一个想法是在批处理内部将批处理脚本的启动记录到日志文件中,然后对Python文件执行相同操作。这将帮助您缩小问题范围。

1

我也为此苦苦挣扎,更改用户帐户在此输入图像描述

并且进行分组。仅更改用户帐户对我来说不够。

这对我有所帮助:

enter image description here

然后点击位置...你必须选择"WINSTADM" 输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接