我想在python中执行子进程,子进程需要一个参数来指定密码。默认情况下,当我的子进程运行时,每个可以登录此计算机的人都可以使用ps
实用程序获取密码。
我知道Popen有一个__executable__
参数,它可以隐藏真实的程序名,但不能隐藏子进程的密码参数。
如何隐藏密码?
PS:我在linux上运行。
答案 0 :(得分:1)
我认为你无法为子进程执行,但是有一个库来自子进程:http://code.google.com/p/py-setproctitle/
该方法特定于每个OS;有些系统根本不支持。如果可能,通过其他方式(例如通过stdin管道)为子进程提供密码。
答案 1 :(得分:1)
subprocess
不会公开API来执行此操作。我建议使用环境变量将密码传递给命令:
subprocess.check_call('command --password="$PASSWORD"', shell=True,
env=dict(os.environ, PASSWORD=password))