challenge 指定コマンドを別プロセスで起動

与えられた文字列のコマンドを、別プロセスで実行してください。 異なるPIDのプロセスが立ち上がり、指定したコマンドを実行することが条件です。

あわせて、実行結果のリターンコードと、別プロセスが出力した標準出力を受け取る方法も記載してください。

今回投稿する上で、別プロセスとして実行するコマンドの与え方は自由ですが、実行した結果、何らかの損害を与えるようなコマンドは埋め込まないようにお願いします。

Posted feedbacks - Python

subprocessモジュールを使います。

Pythonでは

  • os.system
  • os.spawn*
  • os.popen*
  • popen2.*
  • commands.*

と外部コマンド関連のモジュールがたくさんありますが、subprocessモジュールは最も新しく、上記のような古いモジュールを置き換える目的で導入されています。

1
2
3
4
5
6
7
from subprocess import *

p = Popen(["ipconfig", "/all"], stdout=PIPE)
p.wait()
print "return code:%d"%p.returncode
print "pid: %d"%p.pid
print p.stdout.read()

Index

Feed

Other

Link

Pathtraq

loading...