用于运行Python脚本的Web应用程序 - 作为后台进程运行。

时间:2013-08-07 22:54:20

标签: python web-applications wsgi

我有一个python脚本,我希望用户在服务器中运行,但不提供SSH登录权限。我从下面链接获得了一个网络应用程序。 How to connect a webpage with python to mod_wsgi?

以下是适用于我的修改版本


 import web

    class Echo:
        def GET(self):
            return """<html><form name="script-input-form" action="/" method="post">
    <p><label for="Import"><font color=green><b>Press the button to import CSV</b></font)</label>
    Import: <input type="submit" value="ImportCSV"></p>
    </form><html>"""

    def POST(self):
        data = web.input()
        return data
        obj = compile('execfile("importcsv.py")', '', 'exec')
        result = eval(obj, globals(), locals())
        web.seeother('/')
urls = (
  '/.*', Echo,
)
if __name__ == "__main__":
    app = web.application(urls, globals())
    app.run()
else:
    app = web.application(urls, globals()).wsgifunc()

我存储在site.py中的脚本,我正在使用命令“ python2.7 site.py 10.10.10.19:8080 ”执行它。当用户访问10.10.10.19:8080时,他可以看到网页并在需要执行代码时单击按钮。

现在问题是 我关闭SSH会话时网页停止:(
我如何在后台运行它?尝试过这没有帮助。

谢谢和问候, Rijil Hari

1 个答案:

答案 0 :(得分:0)

看起来您想要生成一个新进程,因为当前进程附加到shell(或者,您可以从ssh会话中分离终端)。

要生成新流程,您可以参考bash spawn new process,或者您可以尝试this option instead,以便在断开连接后保持会话处于活动状态。