如何在命令行中打开另一个选项卡并继续使用 fabric?
How to open another tab in command line and proceed there with fabric?
基本上,我要做的是启动我的 django 应用程序。
在我可以做 runserver
之前,我需要分别从 运行 mongod
和 redis-server
开始 mongodb
和 redis
。
所以,我想我可以自动执行此操作而不是每次都这样做。
我的结构函数看起来像这样:
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()
基本上,我要做的是启动我的 django 应用程序。
在我可以做 runserver
之前,我需要分别从 运行 mongod
和 redis-server
开始 mongodb
和 redis
。
所以,我想我可以自动执行此操作而不是每次都这样做。
我的结构函数看起来像这样:
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()