加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 18:32:19 所属栏目:安全 来源:网络整理
导读:我希望能够在 shell的后台运行任务,而不是让他们的输出到stdout或stderr覆盖底部的命令行.我经常需要运行其他命令来与后台进程交互,并希望从同一个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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读