/dev/null--Linux系统黑洞,解决控制台的刷屏问题

摘要:
通常,当控制台执行jar包时,屏幕将继续刷屏,直到程序完成,如下所示:您可以编写一个脚本并将所有输出放入“黑洞”/Bin/bashforiiinhadoop102hadoop103dosih$i“javajar/opt/module/applog/gmall2020-mock-log-2020-0-05-10.jar 1˃/dev/null2˃/dev/null&”完成解释:标准输入0:从键盘获取输入/proc/self/fd/0标准输出1:输出到屏幕/proc/sell/fd/1错误输出2:输出到screen/proc/self/fd/22˃&1:将2的数据传输到1的最后一个&:使命令在后台执行,这样,在前台执行其他命令/dev/null,表示Linux的空设备文件。写入此文件的所有内容都将丢失,通常称为“黑洞”。然后是简化版#!

通常控制台在执行某个jar包时,屏幕会刷个不停,直到程序执行完毕,类似这种:
在这里插入图片描述

那么就可以编写一个脚本,把输出的内容全部扔进“黑洞”。此脚本模拟在hadoop102和hadoop103两台主机上循环执行jar文件:

#!/bin/bash

for i in hadoop102 hadoop103
do
    ssh $i "java -jar /opt/module/applog/gmall2020-mock-log-2020-05-10.jar
     1>/dev/null 2>/dev/null &"
done

解释一下:

  • 标准输入0:从键盘获得输入 /proc/self/fd/0
  • 标准输出1:输出到屏幕(即控制台) /proc/self/fd/1
  • 错误输出2:输出到屏幕(即控制台) /proc/self/fd/2
  • 2>&1:把2的数据传给1
  • 放在最后的&:使命令在后台执行,这样就在前台执行其他的命令
  • /dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。

于是就有了简化版

#!/bin/bash
for i in hadoop102 hadoop103; do
    ssh $i "java -jar /opt/module/applog/gmall2020-mock-log-2020-05-10.jar >/dev/null 2>&1 &"
done 

免责声明:文章转载自《/dev/null--Linux系统黑洞,解决控制台的刷屏问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Windows10 切换用户访问共享阻止谷歌浏览器自动填写表单帐号密码的方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

转://Linux MultiPath多路径软件实施说明

Multipath的工作原理 当multipath启动的时候,它通过系统命令scsi_id -eg -s /block/sdX得到proc/partitions 里面所有块设备的 UUID(universally unique identify),然后把所有具有同一个UUID的块设备组成一个Group,在/dev/mapper 生产一个对应的单独的设备。当...

【OpenGL】学习笔记#1

没事干总要学点东西,这个系列的文章既是我的笔记,又是一篇教程(给我自己的教程),主干内容参考一篇国外教程,教程很粗略,但是代码不错,所以我借着它的脉络,补充网上的资料来扩充内容,每一句话都要理解是什么意思,还有实现的原理。不定期更新,国外教程网址在文末,有兴趣的同学可以去看看。 一、OpenGL简介 OpenGL是一套开放图形库API(的标准),因此可以跨...

项目实战6—Mysql实现企业级日志管理、备份与恢复实战

Mysql实现企业级日志管理、备份与恢复实战   环境背景:随着业务的发展,公司业务和规模不断扩大,网站积累了大量的用户信息和数据,对于一家互联网公司来说,用户和业务数据是根基。一旦公司的数据错乱或者丢失,对于互联网公司而言就等于说是灭顶之灾,为防止系统出现操作失误或系统故障导致数据丢失,公司要求加强用户数据的可靠性,要求全面加强数据层面备份,并能在故障...

mpVue小程序全栈开发

1、微信小程序,mpVue和wepy的对比  2、  3、es6中关于数组的一些方法 1 <script> 2 let arr = [1,2,3,4] 3 // 遍历 4 arr.forEach(v => { 5 console.log(v) 6 })...

idea 中main 方法不能运行

在用idea建立工程的时候有时候会发现main 方法不能运行 然后百思不得其解 控制台会报错: 翻译过来就是依赖出错 这时候我们就要改idea配置 我们要修改Working directory变为我们工程在的绝对路径(一开始你会发现只有一个工程名) 改过之后应用后main 就可以运行了...

Git 分支及bug分支合并

branch 分支学习:branch称为分支,默认仅有一个名为master的分支。一般开发新功能流程为:开发新功能时会在分支dev上进行,开发完毕后再合并到master分支。 学习参考上图,也可以按照着这样的流程进行开发,如果遇到上文开发到一般需要临时修复Bug的情况,可以按照下图的流程进行:   注意:git merge 时也可能会出现冲突,解决冲突的...