【问题标题】:Python Popen and automatically continue to the next instructionPython Popen 并自动继续下一条指令
【发布时间】:2018-05-24 12:07:15
【问题描述】:

我正在尝试从 python 脚本启动和停止内存数据库服务器,以进行我正在进行的某个实验。我面临的问题是我无法弄清楚如何自动继续下一条指令。以下代码似乎可以工作,除了我说的,它将等待服务器返回。我试图搜索各种解决方案,但都没有奏效——包括在 stackoverflow 上提到的那些。

pid = subprocess.Popen(r"/PATH_TO/server",shell=True,stdin=None,
                  stdout=None, stderr=None, close_fds=True).pid
    # DO SOME MORE STUFF HERE

【问题讨论】:

  • stdout=/dev/null 这是一个语法错误。
  • 您可能想在单独的线程上调用 Popen:docs.python.org/3/library/threading.html
  • @Jean-FrançoisFabre 抱歉,我已经修改了它。而且那个也没用。

标签: python python-2.7 popen


【解决方案1】:

酷!这个有效。谢谢大家!

import os
import subprocess
DEVNULL = open(os.devnull, 'wb')
pid = subprocess.Popen(r"PATH_TO/server",stdin=DEVNULL,stdout=DEVNULL,
                      stderr=DEVNULL, close_fds=True).pid
# CONTINUE TO THE NEXT STUFF

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多