切换用户在退出时再次询问密码



我正在尝试使用我的Python代码切换用户。但是,当我尝试退出时,我得到以下内容并按ctrl-z关闭程序:

某用户:~$ 退出 退出

密码:
[4]+ 停止了 python3 loginTest.py

我的代码如下:

import subprocess
import getpass
userNameInput = input("n" + "Please enter your username." + "n")
login = subprocess.run(['su', '-p', userNameInput], stdin=True)
stdin = subprocess.Popen([getpass.getpass() + "n"])

为什么再次要求我输入密码?是因为subprocess.run((正在等待程序退出吗?

Ctrl+

C vs Ctrl+Z

您可能希望改用 Ctrl+C 来终止该进程。

Ctrl+Z 会将进程置于后台,只有当您打算对进程进行 bg 时,才应使用它。如果您在 CLI 上定期执行此操作并且不重新启动计算机,则可能会因僵尸进程而使系统陷入困境。如果使用 Ctrl+Z "终止"进程,则会出现意外行为。

区别

Ask Ubuntu 对 Ctrl+C 和 Ctrl+Z 之间的区别有一个不错的答案。

最新更新