unix – 有没有办法防止后台任务的输出覆盖shell中的命令行?

前端之家收集整理的这篇文章主要介绍了unix – 有没有办法防止后台任务的输出覆盖shell中的命令行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望能够在 shell后台运行任务,而不是让他们的输出到stdout或stderr覆盖底部的命令行.我经常需要运行其他命令来与后台进程交互,并希望从同一个shell中执行此操作,而无需打开另一个终端或使用多路复用器将终端分割为屏幕.

理想情况下会有一些我不知道的设置(我通常使用bash或ksh),但是我可以使用新的或不同的shell或脚本.

我愿意接受任何建议并感谢任何帮助,谢谢.

编辑:
谢谢你的所有答案,但我的问题有点不清楚.我仍然需要观察后台任务的输出,我希望它不会覆盖我可能在命令行上输入的任何新命令.理想情况下,后台程序的输出显示在shell的底线以外的所有内容中,这使我可以自由地在该行中构造新命令.

这类似于运行具有水平分割的屏幕,其中底部窗口仅1-2行高,但是使用屏幕具有以下缺点:

>我不需要/希望流程在我的注销之后存活下来
>需要额外的一两个命令来设置(即使分割和窗口大小调整是在.screenrc文件上完成的)
>我希望能够使用shell的作业控制命令,而无需在屏幕窗口之间切换(即作业,bg,fg,至少在bash的情况下杀死%1)

再次感谢您的帮助,这是我的第一个问题,我已经被答案的速度和数量所震惊!

Bash& ksh,你可以通过在命令中附加1> / dev / null来使所有stdout消失. 对于csh和tcsh,它是$1> / dev / null

猜你在找的Bash相关文章