SHELL脚本并发问题一则记录

前端之家收集整理的这篇文章主要介绍了SHELL脚本并发问题一则记录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

问题背景

使用自动安装框架进行业务安装,调用SHELL脚本来修改权限等操作,包括修改server.xml配置等信息,某天两个安装任务一起运行时,发现密码字段为空,单独运行命令或单个安装任务则不会出现问题。

问题原因

SHELL代码出问题段代码类似如下逻辑:

passwd=""
passwd=`encrypt xxx`
modXmlPasswd $passwd

在第一个任务跑完第二行时,第二个任务运行到了第一行,于是修改xml中密码字段时用了空字符串,就出现问题描述的情况了。

问题解决

当然是分发包之后的安装过程中一个任务一个任务运行了,后续为了省时间,也只能在第一个任务开始运行之后,第二个任务先上传安装包以节省时间。

从前没关注过shell脚本还能有并发问题,也是一次有趣的体验。

猜你在找的Bash相关文章