我有一个使用 Flask 运行的应用程序,并使用 Compass 作为 css 预处理器。这意味着我需要启动 python 服务器和指南针进行开发。我制作了一个我认为很聪明的 Rakefile,从一个命令启动所有内容,并让所有内容仅在一个终端窗口中运行。
一切正常,但问题是当我尝试停止一切(使用cmd + c
)时,它只会终止指南针任务并且 Flask 服务器继续运行。如何确保每个任务都停止?或者是否有替代方法可以同时启动多个任务而不会出现此问题?
这是我的 rakefile,非常简单:
# start compass
task :compass do
system "compass watch"
end
# start the flask server
task :python do
system "./server.py"
end
# open the browser once everything is ready
task :open do
`open "http://127.0.0.1:5000"`
end
# the command I run: `$ rake server`
multitask :server => ['compass', 'python', 'open']
编辑
作为记录,我使用的是 Makefile 并且一切正常。但我改变了部分工作流程并开始使用 Rakefile,因此我对所有内容都进行了 Rakefile,并为了简单起见去掉了 Makefile。