如何从后台 Python 程序获取屏幕输出

如何从后台 Python 程序获取屏幕输出

我在 BeagleBoard xM (arm7) 上运行家用供暖系统监视器,使用的是 Ubuntu 16.04.2 和 Python 2.7.12。我的 Python 程序通过 cron 作业在启动时自动运行。主板无头运行。我使用 WinSCP 访问它以获取我的数据文件并使用 Putty 检查情况。

一切运行正常,但我想让当前传感器读数自动打印到屏幕上。我不确定如何做到这一点,因为我的程序在后台无头运行。

我所说的屏幕是指可以连接到主板上的一个小型 HDMI 显示器(在这种情况下,它将处于没有键盘的不同会话中)或者我可以通过 Putty 启动的一个新终端会话。

所以,我的问题是有没有办法让后台程序的屏幕输出自动传输到不同终端会话的屏幕上?

答案1

如果我理解你正在尝试做的正确的事情,你可以使用屏幕运行你的 Python 程序。然后,当你想检查它时,你可以重新连接到 pid。它通常的工作方式是:

screen -S <name_your_screen>

没有必要命名屏幕,但如果您运行多个屏幕,稍后可以更轻松地找到它们。此时您将处于屏幕的交互式 shell 中。像平常一样运行您的 python 程序。稍后当您想通过 Putty 或其他程序检查程序时:

screen -list
screen -r <pid>.<name_of_screen>

另一个选择是tmux. 希望这有帮助。

相关内容