我如何将这个完整的 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)
最佳答案
您可以将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)
关于Python - 我如何将长命令添加到子进程,当我在一行中应用时,整个命令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19038124/