从Python Popen和线程函数在后台运行mvn

时间:2017-07-05 23:13:39

标签: python multithreading popen py4j

我正在使用Py4j模块实现网关服务器自动化。每次用户调用函数时都需要启动网关服务器。我面临的问题是我无法在后台运行该功能。 这是代码:

const app = frontexpress();

app.get('/', (req, res) => {});
app.get('/about', (req, res) => {});
app.get('/about/team', (req, res) => {});
app.get('/about/team/:member', (req, res) => {
   const member = req.params.member;
   // your front-end logic here
});

app.listen();

我在这里遇到两个问题 1)如果我指定kwargs stdout到logger(一个日志文件来检查输出),它会抛出一个错误,说明stdout指定了多个参数。

2)如果我没有指定stdout选项,则线程的输出显示在ipython终端上,这不是我想要的。

我想要的只是在后台调用服务器,以便其他函数可以访问java网关服务器并访问可以从ipython中使用的方法。

您可以放心地假设直接通过终端运行时mvn功能正常工作。

谢谢

1 个答案:

答案 0 :(得分:0)

我找到了问题的答案。

我已经创建了一个线程,它将采用Popen命令将一个小的shell脚本作为输入并将stdout params作为kwargs传递,以便不显示输出。 服务器已被调用,可以从其他函数中使用。

希望有所帮助