如何在命令行中打开另一个选项卡并继续使用 fabric?

How to open another tab in command line and proceed there with fabric?

基本上,我要做的是启动我的 django 应用程序。

在我可以做 runserver 之前,我需要分别从 运行 mongodredis-server 开始 mongodbredis

所以,我想我可以自动执行此操作而不是每次都这样做。

我的结构函数看起来像这样:

def start_project():
    local("mongod") 
    local("redis-server")

但是一旦启动 mongod 选项卡就会变得繁忙并且不会执行 redis-server

现在,我可以做这样的事情吗?:

def start_meraki():
    local("mongod")
    open_another_tab()   # what can I do here?  
    local("redis-server") 

P.S。我正在使用 Ubuntu 14.04

不确定 "another tab" 是什么意思,但我认为您卡住了,因为 python 等待进程完成,这是在无限循环中。您需要在启动后从 python 分离进程。如果我想让 Firefox 在单独的选项卡中打开另一个页面,我会这样做:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import subprocess

def detach(cmd):
    process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)

def start_everything():

    detach('firefox http://google.com')
    detach('firefox http://yahoo.com')

    # or you can start anything the same way

    detach('audacious')
    detach('leafpad')
    detach('gimp')

start_everything()