如何使用 Flask 在新页面中实时显示 shell 脚本输出

问题描述

我在服务器中有一个 shell 脚本。

patching-button.sh

cat patching-button.sh
#!/bin/bash
echo "Patching server"
sleep 3
echo "###################################"
echo "Patching Server"
sleep 3
echo "Server patched"
sleep 3
echo "Successfully patched"

所以我尝试使用flask和下面的代码调用这个脚本:

def run_patching():
    stdout = check_output(['/root/PATCHING-PLAYBOOK/patching-button.sh']).decode('utf-8')
    return stdout

@app.route('/patching',methods=['GET','POST'])
def patching():
        return '<pre>' + run_patching() + '</pre>'

然而,新的 Flask html 页面仅在命令完成执行后才显示结果。 我想在实时显示它,例如:

Patching server
##################################
Patching server
Server patched

你们有什么想法吗? 我在 stackoverflow 中看到了一些类似的线程,但我无法处理。

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)