代码之家  ›  专栏  ›  技术社区  ›  Rick

Python,使用操作系统-有没有一种方法可以让Python脚本在不等待调用完成的情况下通过这个过程?

  •  6
  • Rick  · 技术社区  · 15 年前

    我尝试使用Python(通过Django框架)来进行Linux命令行调用,并尝试了这两种方法操作系统以及操作系统打开但对于这两种情况,Python脚本似乎在发出命令行调用后挂起,因为调用是实例化服务器的(因此它永远不会“完成”,因为它意味着要长时间运行)。我知道用其他Python代码做类似这样的事情,你可以使用类似celeri的东西,但是我想有一个简单的方法可以让它只进行一个命令行调用,而不是“绑定到它”,这样它就可以过去了,我想知道我是否做错了什么。。。谢谢你的建议。

    我现在是这样打电话的

    os.system("command_to_start_server")
    

    也尝试过:

    response = os.popen("command_to_start_server")
    
    3 回复  |  直到 15 年前
        1
  •  9
  •   gspr    15 年前

    我不确定,但我想 the subprocess module

    编辑: 我已经有一段时间没有使用subprocess模块了,但是如果我没弄错的话,子流程.Popen立即返回,并且仅当您尝试使用子流程.通信如果没有输出,程序是否会阻塞等待输出。

        3
  •  0
  •   tamasd    15 年前

    尝试:

    os.system("command_to_start_server &>/dev/null &")