在Django WebApp上实时查看shell命令的输出

时间:2015-10-16 00:52:41

标签: python django shell

我尝试使用Django构建一个Web应用程序,该应用程序必须在服务器shell上运行命令并在浏览器上实时显示输出。

我需要能够查看输出,并在必要时取消执行。

我想知道我是否需要设置websocket服务,或者是否有更简单的方法来实现它。

1 个答案:

答案 0 :(得分:0)

我没有做同样的事情,但我想你可以这样做:

  1. 首先,在服务器上运行命令时,需要将输出保存到数据库或文件中。

  2. 其次,您需要在前端使用守护进程,它会通过http每隔几分钟或几秒钟检查数据库或文件。一旦守护进程发现某些内容发生了变化,它就会在浏览器上显示出来。

  3. 最后,如果您想通过浏览器取消它,我认为您应该向后端发送一些信号,并检查django应用程序中的信号,并可能通过python运行一些命令。如果您想通过服务器取消命令,可能就像kill -9 pid

  4. 一样简单

    关于第2步,我建议您使用setInterval