Python用subprocess的Popen实现用户切换

当我们需要调用系统的命令的时候,最先考虑的os模块。用os.system()和os.popen()来进行操作,很多时候需要进行用户身份模拟或者用户切换,通过设置subprocess中的Popen的env变量可以实现相关功能。

创建一个可以执行文件,文件命名为:echoenv.py,该文件的作用是显示当前系统用户,文件内容如下:

import os
print(os.environ['USER'])

执行代码如下:

 

>>>import shlex, subprocess
>>>command_line = raw_input()
>>>python echoenv.py
>>>args = shlex.split(command_line)
>>>print args
>>>p = subprocess.Popen(args)

显示结果:
>>>root

>>>env={'USER':'abc'}
>>>p = subprocess.Popen(args,env=env)

显示结果:
>>>abc

 

转载于:https://www.cnblogs.com/jishilei/archive/2013/01/17/2864011.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值