pythonからCの実行ファイルを実行。でも・・・

研究用に、先生のCのプログラムをpythonでパラメータを変化させながら実行しています。
長時間になるため、命令の最後に「&」をつけてバックグラウンド処理にしたいのですが、どうもうまくいかない。
例えば、こんな感じ。

$ python hoge.py &

通常、こうすればバックグラウンド処理になって、サーバとの接続を切っても問題ないのだけど、今回はこれでは不十分らしい。

なんとなくだが、このpythonプログラムの中の、Cを実行させている部分がいけないような気がする。
外部コマンドを利用する際は、commandsモジュールというものを使うとPythonスクリプト内で、Unixコマンドの戻り値を得るには : 渡米生活。では言っている。os.system()というのもあるみたいだが、今回は戻り値がほしいのでcommands.getoutput()を使用。
全部バックグラウンド処理にしないとダメなんじゃないかと思い、シコウサクゴで

res = commands.getoutput("./foo &")

とやってみると、エラーになった。psコマンドで見てみると、外部コマンドを実行する際は

sh -c { ./foo &;}

という風になるらしく、セミコロンの前に「&」が置かれることを嫌うらしい。
これって解決できないのかな?