EEP*_*EEP 11 python linux popen
我正在运行一个userA与root访问一样的脚本,从这个脚本我想popen()打电话并运行一个不同的进程userB.
os.setuid()似乎不适用于此(除非我这样做错了吗?),我想避免基于linux的解决方案,如 su -userB -c <command>
userB在脚本运行时是否有运行进程的pythonic方法userA?
以下答案有一个非常好的方法:https://stackoverflow.com/a/6037494/505154
这里有一个工作代码示例,但摘要是使用subprocess.Popen()a preexec_fn来设置子进程的环境,以便它作为另一个用户执行.