如何解决在服务器内运行可执行的后台程序
我是大学实验室的一名实习生,负责空气质量,他们希望我改进他们的网站,该网站运行空气质量研究人员使用的程序之一(我认为该程序是用 RUST 编写的) . 它现在的工作方式是用户将一些必要的文件上传到 webapp(用 Django btw 编写),然后 webapp 调用这个程序,该程序在服务器上运行并上传文件。问题是如果用户离开或刷新页面,后台程序就会停止。 我从来没有处理过在服务器后台运行其他可执行文件的概念,所以我在理解这一切时遇到了一些问题。我遇到了 Python 的“Celery”包,但它似乎很难实现,我想知道是否还有其他方法可以做到这一点。
解决方法
你可以用 subprocess
template.html
<form action="{% url 'run_sh' %}" method="POST">
{% csrf_token %}
<button type="submit">Call</button>
</form>
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('run-sh/',views.index,name='run_sh')
]
views.py
import subprocess
def index(request):
if request.POST:
subprocess.call('/home/user/test.sh')
return render(request,'index.html',{})
test.sh
#!/bin/sh
echo 'hello'
基于对此question的回答
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。