首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VMS上Python中的简单CGI web服务器

VMS上Python中的简单CGI web服务器
EN

Stack Overflow用户
提问于 2011-05-03 09:22:05
回答 3查看 917关注 0票数 6

我正在尝试在VMS上运行一个非常简单的CGI服务器,用python完成。

代码语言:javascript
复制
import sys    
from BaseHTTPServer import HTTPServer
from CGIHTTPServer import CGIHTTPRequestHandler    
server_address=('',8080)
httpd = HTTPServer(server_address, CGIHTTPRequestHandler)
httpd.serve_forever()

我的问题是,它正确地提供静态内容,并试图执行CGI-s (它在正确的位置,我在Apache中使用了这些CGI,所以这部分肯定不是问题),但它挂在某个地方。这是我不知道的关于VMS的事情。

任何指向正确方向的指针都将不胜感激。:)

更新:简化后,我需要在VMS上执行一个程序,并以某种方式获得该程序的结果。对我来说,任何关于执行子进程并获得其结果的引用都足够了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-30 22:14:02

你使用的是http://hg.vmspython.org/vmspython/的Python端口吗?

如果是这样,我认为this threadthis file (它似乎实现了一种形式的popen2)可能掌握着拯救您的钥匙。端口中似乎有特定于虚拟机的模块(至少是vms.starletvms.rtl.libvms.dvidefvms.clidef),它们为虚拟机的spawn函数等提供接口。然而,文档似乎参差不齐或根本不存在。

票数 1
EN

Stack Overflow用户

发布于 2011-05-30 18:49:05

如果可用,CGIHTTPServer.py使用os.fork,如果没有,则使用subprocess.Popen

请参阅run_cgi method的源代码。

使用subprocess模块进行实验,看看它是否/如何在虚拟机上工作。

票数 0
EN

Stack Overflow用户

发布于 2011-05-25 21:07:11

要执行子进程并在posix上获得其输出:

代码语言:javascript
复制
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from subprocess import Popen, PIPE
>>> output = Popen(['/bin/ls', '/'], stdout = PIPE).communicate()[0]
>>> print output
bin
boot
dev
etc
home
..snip..
root
sbin
>>> 

这显然是在Linux上实现的,所以我不确定Python或子进程模块的任何VMS特性。

http://docs.python.org/library/subprocess.html

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5864139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档