Fabric挂起的运行过程

问题描述 投票:0回答:1

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

// 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脚本时它挂起在run命令上并且永远不会返回。我可以查看ps -A | grep loop并且进程正在运行。如果我手动终止循环过程,那么python脚本就完成了。

关于我可能遗失的任何想法?如果需要更多信息/详细信息,请与我们联系。

谢谢!

python fabric
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.