現在pythonを使ってバッチプログラムを組んでおります。

プログラム上からOSコマンドを発行する必要があり

p = subprocess.Popen(cmd,shell=True,cwd=workDir, stdin=subprocess.PIPE,
stdout=subprocess.PIPE,stderr=subprocess.PIPE,
close_fds=True)
(stdouterr,stdin) = (p.stdout,p.stdin)
    p.wait()

という感じにコマンドを実行しているのですが、コマンドの実行終了が終わるまで反応が
帰ってきません。

コマンドの実行終了を待たずに後続処理を継続したいのですが、どのようにすれば実現が
出来るのでしょうか?
ご教示のほどよろしくお願いいたします。

開発に使用している環境はpythonのバージョンが2.4.3でOSがRedHatとなります。
よろしくお願いいたします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2010/10/01 04:50:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:t-wata No.1

回答回数82ベストアンサー獲得回数13

ポイント35pt

http://www.python.jp/doc/2.5/lib/node534.html

p.wait()を外せばいいだけじゃないでしょうか?

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 umI 112 11 0 2010-09-26 14:01:07

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません