欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

后台运行之nohup与&

程序员文章站 2024-03-26 12:54:35
...

后台运行之nohup与&

话不多说直接上脚本

#! /bin/bash
for host in hadoop102 hadoop103
do
	echo "====================start $host data===================="
	#标准输入: 0<
	#   position.sh < a.txt
	#标准输出: 1
	#	position.sh > /xx.txt
	#错误输出: 2
	#	position.sh >/xx.txt 2> &1
	# nohup: 免挂断,ssh连接断开不会停止程序
	# &: 后台执行,ssh连接断开程序会终止
	ssh $host "nohup java -jar /opt/module/applog/gmall2020-mock-log-2020-04-01.jar >/dev/null 2>&1 &"
done

再来一遍解释:

  • /dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。

  • nohup: 免挂断,ssh连接断开不会停止程序

  • &: 后台执行,ssh连接断开程序会终止

  • nohup 启动时必须指定标准输出和错误输出,标准输出 1 可以省略,然后指定输出路径,错误输出 2>&1 表示错误日志输出路径与标准输出路径相同。

  • 标准输入0:从键盘获得输入 /proc/self/fd/0
  • 标准输出1:输出到屏幕(即控制台) /proc/self/fd/1
  • 错误输出2:输出到屏幕(即控制台) /proc/self/fd/2
相关标签: shell shell