2011-09-27 74 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

您正在運行的命令可能會向您的終端發送一些正在更改其模式或其他設置的轉義序列。需要全部終端功能的程序可以做到這一點(例如基於文本的編輯器)。

捕獲正在執行的程序的標準輸出並阻止它進入屏幕可能會有所幫助。你嘗試過嗎?