我有一个可以运行很长时间的程序,这个程序在远程服务器上编辑和运行。我用办公室的电脑远程连接服务器并运行它。进度显示在我办公室电脑的电脑屏幕上...
我想在家里看到输出,我如何捕捉办公室电脑屏幕上的输出并在家里看到结果?
我考虑将输出写入文件,但我需要关闭该文件。所以我应该打开文件然后写输出,关闭..再次打开?
谢谢
我不知道应该使用正确的标签,但程序是用 perl 编写的......
我有一个可以运行很长时间的程序,这个程序在远程服务器上编辑和运行。我用办公室的电脑远程连接服务器并运行它。进度显示在我办公室电脑的电脑屏幕上...
我想在家里看到输出,我如何捕捉办公室电脑屏幕上的输出并在家里看到结果?
我考虑将输出写入文件,但我需要关闭该文件。所以我应该打开文件然后写输出,关闭..再次打开?
谢谢
我不知道应该使用正确的标签,但程序是用 perl 编写的......
为什么不直接重定向到日志文件并对其进行尾部处理(或将其加载到编辑器等)?
$ myprog.pl >/tmp/logfile 2>&1
以上将您的输出重定向到日志文件(/tmp/logfile
- 您可能希望选择更好的位置,因为/tmp
它是临时的并且可以在重新启动期间被丢弃)并将 stdout/stderr 重定向到同一个位置。请注意,这会捕获程序的输出,您无需修改脚本。
另一种方法是在屏幕内运行程序
也许最有用的功能之一是您可以在注销后重新连接到您的会话,移动到另一台计算机或断开连接,并继续工作,就像什么都没发生一样。您的所有编辑会话、shell 窗口等都将在您离开时出现。
你可以tee
的
your_program.pl | tee logfile.txt
logfile.txt
并在家中查看最新结果
tail -f logfile.txt
就个人而言,我使用screen
这种东西。
screen
。它会显示一条很好的消息,说明它的版本screen
以及它在 GPL 下。ctrl-A
,D
以断开screen
会话。您将看到一条类似 的消息[detached from pid.tty.server]
。正常从服务器注销。screen -x
以重新连接到您的会话。