使用Python子进程运行DRI_PRIME命令



我需要使用Python子进程运行DRI_PRIME=1 glxinfo命令,也不应该造成shell注入风险。

给出如下错误:

FileNotFoundError: [Errno 2] No such file or directory: 'DRI_PRIME=1'

代码:

output = subprocess.check_output(["DRI_PRIME=1", "glxinfo"], shell=False).decode()
print(output)
System: Python3, OS: Linux

您正在寻找如何在修改后的环境中运行命令。

import os
import subprocess
env = os.environ.copy()
env['DRI_PRIME'] = '1'
p = subprocess.run(['glxinfo'], env=env, capture_output=True)
print(p.stdout)

使用以下代码解决问题:

output = subprocess.check_output(["env", "DRI_PRIME=1", "glxinfo"], shell=False).decode()

env手册页的简短说明:

env - run a program in a modified environment

相关内容

  • 没有找到相关文章

最新更新