【问题标题】:Running process with Fabric hangs使用 Fabric 运行进程挂起
【发布时间】:2019-03-06 15:02:13
【问题描述】:

我在使用 Fabric 运行进程时遇到问题。我有一个运行和无限循环的程序例如

// loop.c
int main()
{
    while(1)
    {
        sleep(1);
    }
    return 0;
}

我用启动脚本开始这个过程:

#!/bin/sh
./loop &

这很好用,我只是运行 ./start 但我正在尝试使用 Fabric 使用 python 脚本运行它(因为在我的实际场景中,我想在远程机器上运行它)。我的python脚本如下:

#!/usr/bin/env python

# imports ...

fabric.state.output['running'] = False
fabric.api.env.always_use_pty = False
fabric.api.env.host_string = "localhost"

command = "./start"
output = fabric.api.run(command)

我的问题是当我运行 python 脚本时,它会挂在运行命令上并且永远不会返回。我可以通过ps -A | grep loop 进行检查,并且该进程正在运行。如果我手动终止循环进程,则 python 脚本完成。

关于我可能遗漏的任何想法?如果需要更多信息/细节,请告诉我。

谢谢!

【问题讨论】:

    标签: python fabric


    【解决方案1】:

    使用fabric.api.run('nohup ./loop')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 2015-08-19
      相关资源
      最近更新 更多