bash - 如何避免从另一个脚本调用相同的 bash 脚本多次运行?
问题描述
我有一个名为“upcall”的脚本,它调用了 4 个不同的脚本。在 upcall 中,我以方式秀的方式称呼他们。当我直接运行脚本(bash upload_cloud1)时,脚本的第一部分有效,但从下面的脚本调用时无效。我确定有办法解决这个问题,但只是不确定它是什么。我目前在 crontab 中设置为每 15 分钟运行一次以检查已用空间。
#!/bin/bash
if [[ "`pidof -x $(basename $0) -o %PPID`" ]]; then
echo "This script is already running with PID `pidof -x $(basename $0) -o %PPID`"
exit; fi
count=$(</opt/rclone/scripts/upcount)
size=$(df -k /dev/sda2 | tail -1 | awk '{print $3}')
if [ "$size" -gt "234003200" ]; then
bash /opt/rclone/scripts/upload_cloud${count}
else
echo "Not full yet"
fi
解决方案
推荐阅读
- excel - 通过已知路径列表循环指令
- sql - 提高查询性能的建议
- exception - jOOQ - 从 DataAccessException 获取连接 URL
- flutter - How to draw custom shape in flutter and drag that shape around?
- numpy - numpy eigen decomposition produce unexpected output?
- c# - 如何将文本文件存储到具有不同字符串格式的数组中?
- python - Modin 库在进行简单的 pandas 操作时抛出错误
- javascript - 异步需求
- swift - Swift 5:如何释放由共享库分配的内存
- angular - 尝试打开 MatSnackBar 时 this._portalOutlet 未定义