【发布时间】: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 脚本完成。
关于我可能遗漏的任何想法?如果需要更多信息/细节,请告诉我。
谢谢!
【问题讨论】: