Linuxshellflock详解,linux之flock实现shell锁

更新时间:2023-06-17 17:12:26 阅读: 评论:0

Linuxshellflock详解,linux之flock实现shell锁
电影 推荐flock⼯具可以实现shell脚本或命令⾏锁,使⽤⽅式:
美少女的谎言 第四季1. flock [-sxon] [-w timeout] lockfile [-c]
2.flock [-sxon] [-w timeout] lockdir [-c]
3.flock [-sxun] [-w timeout] fd
元宵节英语怎么说前2种⽅式主要⽤在命令⾏中,通过创建⽂件或⽂件夹来实现锁机制。
第3种⽅式⽤在shell脚本中,使⽤如下:
(
flock -s 200
# ... commands executed under lock ...
) 200>/var/lock/mylockfile
十分钟了解中国
⽤> or >>,如果⽂件不存在,可以创建,但必须有写权限,如果⽤
默认情况,如果锁不能⽴即获得,flock等待直到锁可⽤。
使⽤参数如下:
[root@slave-b ~]# flock
flock (util-linux-ng 2.17.2)
贝立兹
Usage: flock [-sxun][-w #] fd#
flock [-sxon][-w #] file [-c]
flock [-sxon][-w #] directory [-c]
-s  --shared    Get a shared lock
-x  --exclusive  Get an exclusive lock
-u  --unlock    Remove a lock
-
n  --nonblock  Fail rather than wait
-w  --timeout    Wait for a limited amount of time
师说翻译-o  --clo      Clo file descriptor before running command
-c  --command    Run a single command string through the shell
-h  --help      Display this text
呕心沥血是什么意思-V  --version    Display version
介绍⼀下参数:
-s为共享锁,在定向为某⽂件的FD上设置共享锁⽽未释放锁的时间内,其他进程试图在定向为此⽂件的FD上设置独占锁的请求失败,⽽其他进程试图在定向为此⽂件的FD上设置共享锁的请求会成功。
-e为独占或排他锁,在定向为某⽂件的FD上设置独占锁⽽未释放锁的时间内,其他进程试图在定向为此⽂件的FD上设置共享锁或独占锁都会失败。只要未设置-s参数,此参数默认被设置。
-u⼿动解锁,⼀般情况不必须,当FD关闭时,系统会⾃动解锁,此参数⽤于脚本命令⼀部分需要异步empire state
执⾏,⼀部分可以同步执⾏的情况。
-n为⾮阻塞模式,当试图设置锁失败,采⽤⾮阻塞模式,直接返回1,并继续执⾏下⾯语句。
-w设置阻塞超时,当超过设置的秒数,就跳出阻塞,返回值设置为1,并继续执⾏下⾯语句。
-o必须是使⽤第⼀种格式时才可⽤,表⽰当执⾏command前关闭设置锁的FD,以使command的⼦进程不保持锁。-c执⾏其后的comand。
实例:
itsallgay
#!/bin/bash
{
flock -n 3
浮躁怎么办
[ $? -eq 1 ] && { echo fail; exit; }
echo $$
} 3<>mylockfile

本文发布于:2023-06-17 17:12:26,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/148436.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设置   阻塞   进程
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图