0

export DISPLAY=:0.0 && python /home/src/upload.py %s %s &この完全なコマンドをサブプロセスに追加するにはどうすればよいですか?

# valid command
u ="""export DISPLAY=:0.0 && python /home/src/upload.py %s %s &""" % (s[1], s[2])
d ="""export DISPLAY=:0.0 && python /home/src/download.py %s %s &""" % (s[1], s[2])

# seems to work like this but need to add the u and d on this
subprocess.Popen(["python","/home/src/upload.py"], stdout=subprocess.PIPE)
subprocess.Popen(["python","/home/src/download.py"], stdout=subprocess.PIPE)
4

2 に答える 2

0

コマンドが基本的に行うことは、環境変数を設定してから、パラメーターを使用して python スクリプトを呼び出すことです。これは、コードを次のように変更することで実現できます。

import os
import subprocess

new_env = os.environ.copy()
new_env['DISPLAY'] = ':0.0'

subprocess.Popen(["python","/home/src/upload.py", s[1], s[2]], stdout=subprocess.PIPE, env=new_env)
subprocess.Popen(["python","/home/src/download.py", s[1], s[2]], stdout=subprocess.PIPE, env=new_env)
于 2013-09-26T20:49:46.537 に答える
0

DISPLAY変数を環境変数に追加します。引数は、引数リストの余分な要素です:

import os

env = os.environ.copy()
env['DISPLAY'] = ':0.0'

p1 = subprocess.Popen(["python","/home/src/upload.py"] + s[1:3], 
                      env=env, stdout=subprocess.PIPE)
p2 = subprocess.Popen(["python","/home/src/download.py"] + s[1:3], 
                      env=env, stdout=subprocess.PIPE)
于 2013-09-26T20:47:15.060 に答える