Python 切换用户在退出时再次请求密码
我正试图用我的Python代码切换用户。但是,当我尝试退出时,会出现以下情况并按ctrl-z关闭程序: someuser:~$exitPython 切换用户在退出时再次请求密码,python,subprocess,Python,Subprocess,我正试图用我的Python代码切换用户。但是,当我尝试退出时,会出现以下情况并按ctrl-z关闭程序: someuser:~$exit 退出 密码: [4] +停止python3 loginTest.py 我的代码如下: import subprocess import getpass userNameInput = input("\n" + "Please enter your username." + "\n") login = subprocess.run(['su', '-p', u
退出
密码:
[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将把进程放在后台,只有当您想创建一个进程时才应该使用它。如果您经常在CLI上执行此操作,并且不重新启动计算机,则系统可能会因僵尸进程而陷入困境。如果您使用Ctrl+Z来“终止”进程,您将获得意外的行为
区别
Ask Ubuntu在Ctrl+C和Ctrl+Z之间有一个不错的答案。您给出的程序不会产生输出given@IainShelvington,如果有关系的话,我正在Windows系统Linux上运行Ubuntu18.04。我修正了变量。我在为这篇文章删减代码的过程中把他们搞砸了。这无关紧要,也不能回答问题。