linux关于后台启动程序

正经学徒,佛系记录,不搞事情

最终语句:

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项目经常会用这种方式启动,在后端通过日志功能单独记录程序输出的日志位置

猜你喜欢

转载自blog.csdn.net/qq_31748587/article/details/104000431