malangi
malangi

Reputation: 2770

Running a long running process via Python Popen

So, I thought it would be cool if i could get my dev env up and running in a single fell swoop with some python magic. Various DBs, webserver etc.

However, every variation on the below that i have tried on the following seems to fail with 'file not found'.

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

Running the command directly from the shell (i.e. exec /path/to/redis/server) works just fine. Strangely enough, a simple command line uptime seems to work fine.

Any clues as to what is going on? Also, whilst we are on the topic, is multiprocessing the thing to use when i want to run many of these external processes in parallel?

Thanks

Upvotes: 1

Views: 344

Answers (1)

oyvindio
oyvindio

Reputation: 797

exec is a builtin command in bash, not an executable. The file not found error probably comes from exec not being found in the $PATH.

I would try ommitting "exec" in the Popen call.

Upvotes: 2

Related Questions