2011-05-23 165 views
1

所以,我认为如果我能够用一些python魔术一举攻破我的开发环境并运行,那将会很酷。各种数据库,网络服务器等通过Python运行一个长时间的运行过程Popen

但是,下面的每一个变化,我已经试过以下似乎失败'文件未找到'。

p2 = Popen(["exec", "/path/to/redis/server"], stdin=p1.stdout, stdout=PIPE) 
output = p2.communicate()[0] 

直接从shell运行命令(即​​)工作得很好。奇怪的是,一个简单的命令行uptime似乎工作正常。

关于发生了什么的任何线索?另外,虽然我们在这个话题上,当我想要并行运行这些外部进程的许多时,是否使用multiprocessing

由于

回答

2

exec是在bash内置命令,而不是可执行文件。该文件未找到错误可能来自执行没有被发现在$PATH

我会尝试省略Popen调用中的“exec”。

+0

谢谢,就是这样:) – malangi 2011-05-23 09:48:45