织物挂起运行过程

2024-05-18 11:16:35 发布

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

我在用织物运行进程时遇到问题。我有一个运行无限循环的程序

// 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脚本就完成了。你知道吗

你知道我会错过什么吗?如果需要更多的信息/细节,请告诉我。你知道吗

谢谢!你知道吗


Tags: run程序env脚本loopapifalseoutput