python - 如何在 Python 中运行另一个脚本而不等待它完成?

标签 python django process background subprocess

我正在为一个允许他运行特定作业的用户创建一个小仪表板。我正在使用 Django,所以我希望他能够单击链接以启 Action 业,然后将页面返回给他,并显示作业正在运行的消息。工作结果稍后将通过电子邮件发送给他。

我相信我应该使用 subprocess.Popen 但我不确定。所以在伪代码中,这就是我想要做的:

if job == 1:
    run script in background: /path/to/script.py
    return 'Job is running'

最佳答案

p = subprocess.Popen([sys.executable, '/path/to/script.py'], 
                                    stdout=subprocess.PIPE, 
                                    stderr=subprocess.STDOUT)

这将在后台启动子进程。您的脚本将继续正常运行。

阅读文档 here .

关于python - 如何在 Python 中运行另一个脚本而不等待它完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/546017/

相关文章:

java - 使用 java 的 Process.exec 启动的进程始终返回退出代码 0

c++ - PROCESSENTERY32 结构中的 szExeFile 给出了一个奇怪的值

c# - 如何阻止用户打开 Internet Explorer 或 Firefox 等新进程?

python - Django channel : Alternative of Redis for windows machine?

python - 在 Google App Engine 中存储评论的有效方法?

python - Django多模型继承,django-push-notifications

Django:从今天开始给日期字段默认值一个月

python - 在回调模式下使用 python 和 pyaudio 的线程问题

Python 对字典列表值求和进行排序

javascript - 使用 javascript 将 Django timesince 的输出解析为浮点天数