在python中清除sys.argv

dai*_*isy 8 python argv

当用户在 MySQL cli 中指定密码时,又名-pXXXXXX,密码参数被替换为-p******argv 数组。

因此,当有人使用 来检查进程列表时ps,他们看不到密码。

我如何在 Python 中做同样的事情?这显然不起作用

for arg in sys.argv[1:]:
    arg = ""
Run Code Online (Sandbox Code Playgroud)

Jam*_* T. 5

sys.argv = [sys.argv[0]]

有效并且比删除除第一个元素之外的所有元素更有效和优雅。我无法确认这会覆盖或擦除内存中 sys.argv 的先前值。


Syn*_*cus 0

您可以制作一个接受密码和其他参数的包装器。然后它将生成一个子进程,以命令行中不可见的方式向其传递密码,例如。与多处理,并杀死自己。要在保持子进程存活的同时杀死进程,请查看此处