【问题标题】:Python subprocess.call on sfxcl.exe not working from Windows 2003 Task Schedulersfxcl.exe 上的 Python subprocess.call 在 Windows 2003 任务计划程序中不起作用
【发布时间】:2011-10-18 19:47:46
【问题描述】:

我用 Python 写了一个脚本来调用 SecureFX 的命令行工具(sfxcl.exe)

result = subprocess.call([securefx, '/NoPrompt', '/Q', '/RetryCount', retries,
                 '/RetryDelay', '1', '/Log', sfxLogFile, '/List', '/S', session])

然后使用py2exe将其转换为.exe。

我可以在我的 WinXP 机器上本地安排它,一切正常。当我在 Win2003 环境下手动运行它时,它也可以工作。但是当我在 Win2003 中使用 Windows 任务计划程序安排它时,它通过脚本运行并且实际上并没有调用 sfxcl.exe(没有任何日志)。我很困惑为什么会这样……

Win2003 服务器没有安装 Python,而我的 WinXP 安装了(我开发它的地方)。

我使用的是 Python 2.7.1。

编辑:否则,如果对此没有答案 - 我是否应该考虑运行脚本一次并将其设置为使用间隔重新运行,而不是什么?其他选择?它需要每 15-20 分钟运行一次。

【问题讨论】:

  • 我想我已经明白了。当我手动运行 exe 时,我使用的是自己的登录名,但是当我安排它时,我使用的是其他帐户。将该帐户切换到我自己的作品。这很奇怪,考虑到这个其他帐户能够运行调用相同 sfxcl.exe 的批处理文件。

标签: python windows-server-2003 py2exe scheduled-tasks


【解决方案1】:

所以我发现了问题,而且确实很愚蠢。 如果它是手动工作的,您应该期望它在任务计划程序中工作。

现在,我忘了提到它正在使用调度程序中的另一个帐户,并且该帐户没有设置 SecureFX 会话/配置,因此只有该部分没有运行。

这不是 Python 的问题。

【讨论】:

    猜你喜欢
    • 2012-09-27
    • 2023-02-07
    • 2018-07-02
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多