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

2024-06-05 23:34:21 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,我要做的是启动我的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") 

另外,我正在使用Ubuntu 14.04


Tags: django功能projectredis应用程序servermongodblocal
1条回答
网友
1楼 · 发布于 2024-06-05 23:34:21

我不知道你所说的“另一个选项卡”是什么意思,但我认为你被卡住了,因为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()

相关问题 更多 >