人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

現在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となります。
よろしくお願いいたします。

●質問者: taso1981
●カテゴリ:コンピュータ インターネット
✍キーワード:OS Python RedHat コマンド バッチ
○ 状態 :終了
└ 回答数 : 2/3件

▽最新の回答へ

1 ● t-wata
●35ポイント

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

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


2 ● tasklight
●35ポイント

p.wait()を外せばいいと思います。


参考:subprocess モジュールでパイプによる入出力を扱うときの注意事項

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ