簡體   English   中英

在后台運行的交互式Python解釋器

[英]Interactive Python Interpreter Run in Background

在后台啟動交互式python控制台時,我遇到了一個奇怪的問題。 從后台恢復解釋器后,它不會顯示我鍵入的任何文本(即,它只會顯示>>>提示符,盡管它將解釋我編寫的內容。按[enter]在同一位置創建另一個>>>提示符線)。

重現此問題的簡單方法是鍵入:

python &
fg

如果您在前台啟動程序,將其放在后台,然后將其返回到前台,則不會發生此問題:

python
[ctrl-z]
bg
fg

如果您想知道為什么要在后台啟動交互式解釋器,請考慮以下情形:

我的模擬需要很長時間才能運行,但是完成后,我想與結果進行交互。 因此,我啟動了該程序:

python -i simulation.py &
fg #(after it's finished running)

簡單的解決方案是將其啟動在前台,將其移至后台,然后再將其置於前台,但我只是想知道為什么會這樣。

在將解釋器帶入前台后,請考慮執行以下命令以強制終端ECHO模式:

import termios
attr = termios.tcgetattr(1)
attr[3] = attr[3] | termios.ECHO
termios.tcsetattr(1, termios.TCSANOW, attr)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM