3
我已經寫了一個python程序,充當服務器(tcp,kindof),並記錄了一大堆stdout(和文件)的重要信息。該程序在附有小VGA顯示器的ARM板上運行。在Python中,有日誌記錄和ncurses去單獨的TTY
現在我想顯示板上物理顯示的一些信息,同時在程序啓動的tty上保持記錄。
讓我們說我通過SSH連接到ARM板,然後在/ dev/tty3上運行程序。
我設法使用ncurses在/ dev/tty1(這是物理顯示)上顯示的東西。問題是,所有的日誌記錄還會顯示在pyhsical中。
要做到這一點,我基本上重定向stodut到/ dev/tty1上一些一段代碼在SO發現:
NCURSES_TTY = '/dev/tty1'
with open(NCURSES_TTY, 'rb') as inf, open(NCURSES_TTY, 'wb') as outf:
os.dup2(inf.fileno(), 0)
os.dup2(outf.fileno(), 1)
os.dup2(outf.fileno(), 2)
os.environ['TERM'] = 'linux'
logging.debug("Starting server..")
但這當然會將所有輸出。任何想法如何將ncurses和純Python日誌分割爲單獨的TTY?