我有一个脚本会自动运行CFD模型,其中包含许多不同目录的案例。然后我想检查目录是否已经在运行进程,脚本将警告用户并且不在该目录中执行。
那么有什么方法可以检查它吗?
请帮助我!
答案 0 :(得分:0)
最佳实践方法是让每个要阻止的脚本同时运行以获取目录中的锁。
假设您的操作系统是Linux,flock
是适合该工作的工具:
#!/bin/bash
# open lockfile in current directory
# if operating on a directory given as an argument, update appropriately
exec 99>.lock
# grab a lock
flock -x 99 || {
echo "Could not grab lock" >&2
exit 1
}
# do your other calculations here
另见: