Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何在Linux上使用flock_Bash_Shell_Unix_Mutex_Flock - Fatal编程技术网

Bash 如何在Linux上使用flock

Bash 如何在Linux上使用flock,bash,shell,unix,mutex,flock,Bash,Shell,Unix,Mutex,Flock,我正在看flock docs: 我有这个: #!/usr/bin/env bash temp_dir="$HOME/temperton/tmp"; mkdir -p "$temp_dir" ( flock -x "$temp_dir/a" echo '111' ) & ( flock -x "$temp_dir/a" echo '222' ) & 但当我运行它时,我得到了以下错误: “flock”是最有用的,然后使用文件描述符进行操作。如果锁定

我正在看flock docs:

我有这个:

#!/usr/bin/env bash

temp_dir="$HOME/temperton/tmp";
mkdir -p "$temp_dir"

(

  flock -x "$temp_dir/a"
  echo '111'

) &

(

  flock -x "$temp_dir/a"
  echo '222'

) &
但当我运行它时,我得到了以下错误:


“flock”是最有用的,然后使用文件描述符进行操作。如果锁定file/dir name,还应该提供一个要执行的命令。我想,在内部,它的工作原理如下:


exec 4最有用的是“flock”,然后使用文件描述符进行操作。如果锁定file/dir name,还应该提供一个要执行的命令。我想,在内部,它的工作原理如下:


exec 4这不是flock的工作方式。您需要同时提供要锁定的文件和命令。请看手册页面,它包含使用示例。由于没有包含要运行的命令,您告诉它执行基于文件描述符的锁定,但是您忘记了一些非常重要的事情。是的,再看一下手册中的例子。flock不是这样工作的。您需要同时提供要锁定的文件和命令。请看手册页面,它包含使用示例。由于没有包含要运行的命令,您告诉它执行基于文件描述符的锁定,但是您忘记了一些非常重要的事情。是的,再看看手册页上的例子。
flock: bad file descriptor: '/home/ratt/temperton/tmp/a'
flock: 111
bad file descriptor: '/home/ratt/temperton/tmp/a'
222