【问题标题】:Web App to run Python Scripts - Run as a background process.运行 Python 脚本的 Web 应用程序 - 作为后台进程运行。
【发布时间】:2013-08-09 12:34:33
【问题描述】:

我有一个 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 会话时网页停止:(
我如何在后台运行它?试过 & 并没有帮助。

感谢和问候, 里吉尔·哈里

【问题讨论】:

  • 服务器运行的是 Windows 还是 *nix?
  • 不是 Windows,而是 Ubuntu 12.04

标签: python web-applications wsgi


【解决方案1】:

您似乎想要生成一个新进程,因为当前进程已附加到 shell(或者,您可以将终端与 ssh 会话分离)。

要生成一个新进程,您可以参考bash spawn new process,或者您可以尝试this option instead,它会在您断开连接后使您的会话保持活动状态。

【讨论】:

  • 您好,刚刚尝试了屏幕。在我的会话中工作的命令在屏幕上给出以下错误。 (无法在此处发布完整错误) Traceback(最近一次调用最后一次):文件“adminsite.py”,第 75 行,在 app.run() 文件“/usr/local/lib/python2.7/dist -packages/web.py-0.37-py2.7.egg/web/application.py",第 313 行,运行中 return wsgi.runwsgi(self.wsgifunc(*middleware)) /wsgi.py",第 54 行,在runwsgi /httpserver.py",第 157 行,runsimple 中 /__init__.py",第 1753 行,开始引发 socket.error(msg) socket.error: No socket could be created
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-14
  • 1970-01-01
  • 2010-12-29
  • 1970-01-01
  • 1970-01-01
  • 2023-01-30
  • 1970-01-01
相关资源
最近更新 更多