如何在外部查看终端(tty)输出?(不是新的 ssh 会话,而是当前正在发生的事情)

如何在外部查看终端(tty)输出?(不是新的 ssh 会话,而是当前正在发生的事情)

基本上,我已经设置了一些运行不同程序的 Raspberry Pi,我想看看它们输出的内容。我显然可以通过 SSH 连接,但这是一个新的 tty 会话。尝试用谷歌搜索,但我觉得我的术语有点奇怪!

答案1

尝试screen

登录到终端并输入apt-get install screen以进行安装。
输入 来启动屏幕screen
点击 Enter 跳过欢迎屏幕。
启动一个进程,例如缓慢的下载:

curl --limit-rate 5K \
http://archive.raspbian.org/raspbian/dists/wheezy/main/binary-armhf/Packages

^ad- Ctrl+a(释放按钮)d - 分离。
关闭终端。
以同一用户身份登录(如果愿意,可以通过 SSH)并输入screen -r以恢复。

screen 还能做更多,请查看man screen

附注:如果您希望您的进程在启动时启动,您应该考虑使用初始化脚本并让你的进程写入日志文件。

答案2

据我所知,没有办法观察在单独的 shell 中运行的命令的输出。每个 shell(例如 bash)实例都是一个单独的实体,您无法从不同的 shell 与其进行通信。

监控输出的唯一方法是让命令将其进度保存在文件中,然后监控该文件。例如,在 Pi 上:

some_command > some_file

或者,监视标准错误而不是标准输出:

some_command 2> some_file

然后,您可以通过运行以下命令在另一台计算机上查看进度

ssh user@pi tail -f /path/to/some_file

相关内容