0

私はPythonでを使用しようとしていて、のsubprocess moduleを取得しようとしていますprocess idfirefox

cmd = "firefox &" 
fire = subprocess.Popen(cmd,shell=True, stdout=subprocess.PIPE, preexec_fn=os.setsid)
fire_task_procs = find_task(fire.pid)
print "fire_task_procs",fire_task_procs

私が実行しているコマンドライン引数を取得していると思いpidます..何か間違っていますか? を使用して同じではないことを確認しましたps aux | grep firefox

4

2 に答える 2

1

シェルを使用しないでください。代わりに使用してください

subprocess.Popen(['firefox'], stdout=subprocess.PIPE, preexec_fn=os.setsid)

ただし、Firefox が既に実行されている場合、これも機能しません。この場合、Firefox は IPC を使用して、既存のプロセスに新しいウィンドウを開くように指示してから終了するためです。

于 2013-04-12T21:20:02.170 に答える