相关疑难解决方法(0)

Linux flock,如何"只是"锁定文件?

在Bash中,我试图使函数getLock与不同的锁名称一起使用.

function getLock
{
    getLock_FILE="${1}"
    getLock_OP="${2}"
    case "${getLock_OP}" in
        "LOCK_UN")
            flock -u "${getLock_FILE}"
            rm -fr "${getLock_FILE}"
            ;;
        "LOCK_EX")
            flock -x "${getLock_FILE}"
    esac
}
Run Code Online (Sandbox Code Playgroud)

但是弗洛克说 flock: bad number: myfilelock

我怎样才能锁定文件,并在需要时释放它,而不必在flock中执行命令?

它是这样使用的:

getLock myfilelock LOCK_EX
somecommands
........
getLock myfilelock LOCK_UN
Run Code Online (Sandbox Code Playgroud)

linux file-locking flock filelock

16
推荐指数
1
解决办法
3万
查看次数

如何在Bash中找到下一个可用的文件描述符?

如何确定Bash中当前是否正在使用文件描述符?例如,如果我有一个读取,写入和关闭fd 3的脚本,例如

exec 3< <(some command here)
...
cat <&3
exec 3>&-
Run Code Online (Sandbox Code Playgroud)

什么是确保我不干扰脚本运行之前可能设置的描述符的其他目的的最佳方法?我需要将整个脚本放在子shell中吗?

bash file-descriptor subshell process-substitution

8
推荐指数
3
解决办法
2565
查看次数