通过Python Popen运行一个长时间运行的进程

时间:2011-05-23 08:58:39

标签: python unix development-environment multiprocessing

所以,我认为如果我可以通过一些蟒蛇魔法让我的开发和运行一下子就会很酷。各种数据库,网络服务器等。

但是,我在下面尝试的下面的每个变体似乎都失败了'找不到文件'。

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

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

有关正在发生的事情的任何线索?另外,当我们讨论这个主题时,multiprocessing当我想并行运行许多这些外部进程时,会使用这个东西吗?

谢谢

1 个答案:

答案 0 :(得分:2)

exec是bash中的内置命令,而不是可执行文件。找不到文件错误可能来自$PATH中找不到exec。

我会尝试在Popen电话中省略“exec”。