使用python cgi运行linux命令时加载HTML页面

问题描述 投票:0回答:1

我正在使用以下代码在kvm上创建一个虚拟机...它工作得很好但是....我的html页面在加载时卡住,因为创建虚拟机的命令正在运行...在1或2秒之后,这个命令的工作已经完成...然后我想转到下一页,但它仍在加载请帮助

#!/usr/bin/python

import cgi
import commands

print "Content-type:text/html"
print ""

cmd = "sudo virt-install --cdrom /iso/win7.iso --ram 1024 --vcpu 1 --disk 30 --name wind7 --graphics vnc,listen=127.0.0.1,port=5912,password=123"

output=commands.getoutput(cmd)
print "<meta http-equiv='refresh' content='0;url=http://127.0.0.1/abc.html'>"
python html linux cgi
1个回答
0
投票

我认为您需要在后台启动命令,以便Python可以继续下一行而无需等待sudo virt-install终止。

而不是commands,使用模块os

import os
os.spawnl(os.P_DETACH, 'cmd')

如果这不起作用,请尝试使用P_NOWAIT而不是P_DETACH

注意:您可能需要将重定向延迟几秒钟,以便在浏览器尝试打开HTML页面之前,安装程序有足够的时间来完成工作。

© www.soinside.com 2019 - 2024. All rights reserved.