6

我想在python中执行一个子进程,子进程需要一个参数来指定密码。默认情况下,ps当我的子进程运行时,每个可以登录这台机器的人都可以使用该实用程序获取密码。

而且我知道Popen有一个__executable__参数,它可以隐藏真实的程序名称,但不能隐藏子进程的密码参数。

如何隐藏我的密码?

PS:我在linux上运行。

4

2 回答 2

1

subprocess不公开 API 来做到这一点。我建议使用环境变量将密码传递给命令:

subprocess.check_call('command --password="$PASSWORD"', shell=True,
                      env=dict(os.environ, PASSWORD=password))
于 2012-07-09T12:21:42.807 回答
1

我不认为你可以子进程做到这一点,但有一个库可以子进程中做到这一点:http ://code.google.com/p/py-setproctitle/

该方法特定于每个操作系统;有些系统根本不支持。如果可能,通过其他方式(例如通过标准输入管道)为子进程提供密码。

于 2012-07-09T11:57:39.560 回答