从python cgi脚本运行窗口应用程序

时间:2013-09-03 07:43:59

标签: python windows apache cmd cgi

我正在开发带有Web界面的小应用程序,用于自动测试和升级我的硬件产品。应用程序使用Apache 2 Web服务器和CGI技术(python语言)。 有一次,我必须运行外部Windows应用程序(TeraTerm Pro for Zmodem文件传输)。 Python代码:

pipe=subprocess.Popen("run_me.bat", shell=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

TeraTerm无法启动。好吧,它开始(我在进程列表中看到它),但窗口没有显示,没有任何反应。当我从windows命令启动python脚本时,当cmd.exe启动时,这行开始 - >运行... cmd.exe并输入“python.exe transfer.py”,一切正常,TeraTerm windows出现,并开始文件传输。

我找到了部分解决方案。当我在Windows控制台窗口中以用户身份启动Apache2时,所有工作文件。当Apache2作为服务运行时 - 出现问题。我注意到当Apache2作为服务运行时,运行控制台应用程序没有问题。运行基于窗口的应用程序时出现问题。

是否可以将Apache2作为服务并运行任何窗口应用程序而不会出现问题? 部分解决方案是不可接受的,因为在正常工作期间,许多控制台窗口显示半秒钟。这很令人不安。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。服务属性中的“登录”选项卡中有一个选项“允许服务与桌面交互”。检查后,重新启动Tera Term Works罚款。 Tera Term窗口不是apear。解决了!