我遇到了一个奇怪的问题。每次我通过 subprocess.Popen(cmd).wait()
调用特定命令 cmd
时,stty 都会变坏(不会在 shell 上回显我的进一步命令,换行符不起作用等)命令结束时。我必须运行 stty sane
才能使 stty 恢复正常。这可能是什么原因?
更新 我正在运行的命令正在启动 elasticsearch过程。该命令在后台启动进程。
最佳答案
您正在运行的命令可能会向您的终端发出一些转义序列,从而改变其模式或其他设置。需要完整终端功能的程序可以做到这一点(例如,基于文本的编辑器)。
捕获您正在执行的程序的标准输出并防止它出现在屏幕上可能会有所帮助。你试过了吗?
关于python - Stty 疯狂地使用 Python 子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7565753/