在Linux中,flock命令用于创建文件锁以防止其他进程同时访问同一个文件。其基本语法如下:
flock [options] <file> <command>
其中,<file>是要锁定的文件的路径,<command>是要执行的命令。当使用flock命令时,它会尝试以独占模式锁定指定的文件,并执行给定的命令。只有当锁定成功时,命令才会执行,否则命令会等待直到获得锁。
一些常用的选项包括:
-x或--exclusive:独占模式,获取独占锁。-n或--nonblock:非阻塞模式,如果无法获得锁,则立即返回错误。-u或--unlock:解锁指定文件。示例:
flock -n /tmp/lockfile.lock echo "Hello, World!"
这个示例会尝试以非阻塞模式锁定/tmp/lockfile.lock文件,如果成功则输出Hello, World!。