我有一个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
答案 0 :(得分:0)
看起来您想要生成一个新进程,因为当前进程附加到shell(或者,您可以从ssh会话中分离终端)。
要生成新流程,您可以参考bash spawn new process,或者您可以尝试this option instead,以便在断开连接后保持会话处于活动状态。