完成运行后将后台进程输出重定向到寻呼机“less”,而不是默认终端

完成运行后将后台进程输出重定向到寻呼机“less”,而不是默认终端

默认情况下,如果您执行以 结尾的后台进程&,例如./test &,输出将打印在当前终端中。除了直接输出之外,
如何将输出重定向到寻呼机,就像它完成运行时一样?less

答案1

最简单的方法:将输出重定向到文件。当命令执行完毕后,查看less.

  1. ./test.sh >test.out &
  2. less test.out

即使命令不在后台运行,这在某些情况下也很有用,例如编译大型项目时:

$ make >make.out 2>make.err

或者

$ make >make.log 2>&1

然后,您可以在自己的时间检查输出以查找错误等(或将其作为错误报告的一部分发送给开发人员),而无需在终端中上下滚动。

答案2

你可以使用这个:(./test | less) &

当执行完成后,less将在后台暂停。然后您所要做的就是使用fg来显示 的输出less

括号不是强制性的(如果需要,您可以将其删除),但它们使命令看起来更清晰。

相关内容