代码之家  ›  专栏  ›  技术社区  ›  sinDizzy

Windows任务计划程序将只运行一次应用程序

  •  2
  • sinDizzy  · 技术社区  · 15 年前

    所以我的情况是我正在Windows任务调度程序上运行一个应用程序。此应用程序每天下午1点运行一次。该应用程序进行一些查询并将数据传输到FTP站点。所有这些都很好,除了周末我不在这里,应用程序运行,图形用户界面仍然显示给我审查。这似乎使它停止在调度程序上运行,直到我关闭应用程序。所以在星期六它会运行,当我星期一回来的时候,这个应用程序会一直显示给我查看。但在周日,当调度程序再次尝试运行它时,它将失败,因为应用程序尚未关闭。

    谢谢 AGP公司

    3 回复  |  直到 13 年前
        1
  •  1
  •   James Schek    15 年前

    最好的办法是消除事件日志或日志文件中的UI和日志消息。如果您愿意,UI可以作为单独的进程从CLI派生出来,但它应该作为自己的非子进程在中生成。

    或者,可以运行批处理文件,而不是直接运行进程。在批处理文件中,调用“START path_to_exe”而不是exe。这将导致批处理文件立即“完成”,而exe将在其自己的进程中运行。这是 一个好的长期解决方案,但会给你一个暂时解决你眼前问题的方法。

        2
  •  0
  •   Mitchel Sellers    15 年前

    这是计划任务系统的默认行为,因为在应用程序实际退出之前,它不知道作业已完成。因此,如果应用程序在24小时后仍处于打开状态,则下一次运行将被跳过,因为就调度程序而言,当前运行“仍在运行”。

    就我个人而言,我会重新审视你处理工作流程的方式,因为你正在建立一个长期难以管理的情景。

        3
  •  0
  •   ChessWhiz    15 年前

    我建议写入日志文件,而不是显示任何输出和/或错误的UI。这样,应用程序可以编写,然后退出,您可以方便地查看日志。这是一个非常常见的自动化流程解决方案。

    推荐文章