2011-09-27 83 views
1

我正面临一个奇怪的问题。每当我通过subprocess.Popen(cmd).wait()调用一个特定的命令cmd时,stty在命令结束时变得很糟糕(不会在shell上回显我的进一步命令,换行符不起作用等)。我必须运行stty sane才能再次获得stty罚款。这可能是什么原因?Stty疯狂使用Python子进程

更新我正在运行的命令是启动elasticsearch进程。该命令在后台启动进程。

+0

你正在执行什么命令? – Geo

+0

什么意思是“变坏”? – glglgl

+0

当你至少有一个用于ES的phyton客户端时,你为什么想通过python在控制台上执行elasticsearch? – Karussell

回答

0

您正在运行的命令可能会向您的终端发送一些正在更改其模式或其他设置的转义序列。需要全部终端功能的程序可以做到这一点(例如基于文本的编辑器)。

捕获正在执行的程序的标准输出并阻止它进入屏幕可能会有所帮助。你尝试过吗?