博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SHELL脚本并发问题一则记录
阅读量:2439 次
发布时间:2019-05-10

本文共 342 字,大约阅读时间需要 1 分钟。

问题背景

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

问题原因

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

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

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

问题解决

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

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

转载地址:http://dmcqb.baihongyu.com/

你可能感兴趣的文章
react 实现滚动加载_如何在React中实现平滑滚动
查看>>
报纸打字项目_如何使用打字稿设置节点项目
查看>>
如何在Debian 10上安装Docker Compose
查看>>
prisma orm_Prisma中的身份验证-第2部分:JSON Web令牌和登录
查看>>
centos cron_如何在CentOS 8上使用Cron自动化任务
查看>>
V8的V8:JavaScript中的可选链接和无效合并
查看>>
如何在JavaScript中使用map(),filter()和reduce()
查看>>
react hooks使用_使用Hooks动态加载React组件
查看>>
bat命令行遍历文件_命令行基础知识:如何遍历目录中的文件
查看>>
了解编程中的操作顺序
查看>>
react中创建一个组件_如何在React中创建社交关注组件
查看>>
DigitalOcean的技术写作指南
查看>>
配置管理规范 配置管理计划_配置管理简介
查看>>
如何在Ubuntu 18.04上添加和删除用户
查看>>
angular4前后端分离_如何在Angular 4+中使用Apollo客户端GraphQL
查看>>
如何在Ubuntu 18.04上安装Apache Kafka
查看>>
如何在Ubuntu 20.04上安装R [快速入门]
查看>>
debian tomcat_如何在Debian 10上安装Apache Tomcat 9
查看>>
如何使用MongoDB和Docker设置Flask
查看>>
如何为Python 3设置Jupyter Notebook
查看>>