正经学徒,佛系记录,不搞事情
最终语句:
nohup ./test.sh 1>/dev/null 2>&1 &
解释:
#创建test.sh测试脚本
vi test.sh
#内容:
#!/bin/bash
while true
do
echo '不停的执行'
sleep 5
done
#设置文件权限可执行
chmod +x test.sh
启动方式一:直接启动,不加参数
结果是内容直接输出在控制台,并且不是后台启动,通过control+c或关闭窗口会直接关闭程序
启动方式二:使用参数&
结果是内容输出在控制台,但是又可以进行别的操作,是后台启动,无法通过control+c关闭,需要杀死进程
启动方式三:使用参数 1>/usr/local/lion-cloud/info.log 2>/usr/local/lion-cloud/error.log &
说明:1表示标准输出,2表示异常输出,尖括号后面的路径表示输出内容到哪个文件,查看此目录会生成info.log和error.log:
扫描二维码关注公众号,回复:
12470698 查看本文章
info.log会一直增加,结果是内容输出到指定的文件,是后台启动,需要杀死进程来关闭
启动方式四:使用参数1>/dev/null 2>/dev/null &
说明:作用与方法三一样,/dev/null可以理解成是一个无底洞,输出的日志相当于放入了这个无底洞,也可以缩写成./test.sh 1>/dev/null 2>&1 &,表示引用标准输出的路径,是后台启动,需要杀死进程来关闭,但是这个启动方式会存在关闭窗口或退出用户时程序也关闭
启动方式五:使用参数nohup ./test.sh 1>/dev/null 2>&1 &
即能后台启动,又不会有方法四的问题,springboot项目经常会用这种方式启动,在后端通过日志功能单独记录程序输出的日志位置