Python脚本永远不会在任务调度程序中结束

时间:2016-02-22 13:07:20

标签: python windows scheduled-tasks

我正在尝试设置一个自动执行的python代码。

我开始使用一个小代码来执行:

import datetime
with open("out.txt","a") as f:
    f.write(datetime.datetime.now().isoformat())

任务将启动并执行(文件已修改),但它永远不会在任务计划程序中结束。

SO中存在

thisthis,但没有真正的答案。这些线程中提出的唯一解决方法是在Windows中的给定时间之后强制结束任务,但这需要知道python脚本将花费多长时间,而实际任务并不是这样。

任务调度程序如何知道python脚本已完成?

我在任务计划程序中以下列方式运行它:

  • 程序:cmd

  • 参数:/ c C:\ python27 \ python.exe C:\ path \ of \ script.py

  • 执行:C:\ path \ of \

我尝试了一些变体,比如执行python而不是cmd,但它没有改变任何东西。我曾希望/ c会强制完成任务。

2 个答案:

答案 0 :(得分:1)

正如Gaurav Pundir所述,添加sys.exit(0)应该正确地结束脚本,从而结束任务。但是,您确实需要使用import sys添加sys库才能使用sys.exit(0)。希望这会有所帮助!

答案 1 :(得分:0)

对我来说,它看起来像个错误。 尝试在任务管理器下查找python控制台。 如果它不存在则程序已成功退出。

我在Windows 10中遇到同样的问题,python脚本运行成功,任务管理器下没有python控制台,但计划任务状态仍显示“正在运行”