linux - 在 Linux 中创建、锁定和解锁目录
问题描述
我正在Linux环境中开发并同时运行一些测试脚本。每个测试脚本都会将临时结果保存到自己的目录中。临时,这意味着如果再次运行测试,它将覆盖/修改以前的结果,而不是创建新文件。这是为了空间,否则我需要安排一个新的工作来定期删除文件。
我想在 shell 脚本中做的是:给定一个路径,例如A/B/C
.
- 检查目录是否
A
存在,如果不存在,则创建目录A - 检查目录是否
A/B
存在,如果不存在,则在A下创建目录B - 检查目录是否
A/B/C
存在,如果不存在,则在B下创建目录C,并在C内部创建一个锁。 - 获取/等待 C 中的锁。运行测试并将结果保存到 C。释放 C 中的锁。
请注意:
有多个用户在同一个盒子上运行测试。为了破解权限,我
chmod 666 * >/dev/dnull 2>/dev>null
在每个测试结束时运行,有没有更好的方法在创建目录时将权限更改为 666?测试是用 python 脚本编写的,很可能会崩溃。一定要避免死锁。
- 路径可以任意,
A/B1/B2/..../Bn/C
我只想锁定最里面的目录C
。
谢谢!
解决方案
推荐阅读
- javascript - 使用 Spring Boot、JavaScript 和 Ajax 进行电子商务的多个复选框产品过滤器,例如 Amazon 或 Flipkart
- python - Django REST 框架,序列化器:附加数据?
- php - php json数组数组并从深层嵌套中获取一些键值
- javascript - 如何通过 Firebase 函数将参数传递给外部 API
- java - 改造不显示任何数据
- java - 在 getListEntryObjects 中设置 max_Retrieve 和 sort_list 参数
- php - Json响应在刀片文件的Laravel中返回未定义的值
- php - 从 PHP 获取 Nginx 配置变量值
- git - 如何在 GitBash 中删除分支?
- angular - 错误:包路径 ./compat 未从包中导出