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

时间:2017-12-19 18:51:23

标签: python html linux cgi

我使用以下代码在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'>"

1 个答案:

答案 0 :(得分:0)

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

使用模块commands

而不是os
import os
os.spawnl(os.P_DETACH, 'cmd')

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

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