【发布时间】:2017-02-20 21:00:58
【问题描述】:
我正在尝试以另一个“用户”的身份从 python 执行命令:
command = "sudo su user -c player --standard=1 -o 2"
subprocess.Popen(command.split(), shell=False, stdin=None, stdout=None, stderr=None, close_fds=True)
但是 -c 之后的一切都会引起麻烦。 知道如何使用我的程序播放器的参数执行此命令吗?
当我使用“player --standard=1 -o 2”(当然在子进程中)创建单独的 2.py 脚本并通过“sudo su user -c /home/user/2”从我的第一个脚本中调用此脚本时.py",它工作正常。
【问题讨论】:
-
试试 sudo -i ...
-
我应该在哪里添加-i,好吗?我试过 sudo -i su... 或 sudo su user -i... 但不起作用
-
与你的问题的 python 部分不严格相关,但你应该考虑使用
sudo的-u选项而不是运行su。 -
删除 su 并用 -i 替换它