Linux Shell的锁:flock

简介: <h2 class="note-title" style="font-family:'Helvetica Neue',Arial,'Hiragino Sans GB',STHeiti,'Microsoft YaHei','WenQuanYi Micro Hei',SimSun,Song,sans-serif; line-height:1.1; color:rgb(22,32,41); ma

Linux Shell的锁:flock

在写分布式系统的时候,需要同步进程之间的调用顺序。我的需求是,多个进程同时要在一个maven工程中编译打包接口。通过new一个Process去跑一个Shell脚本,Shell脚本会将接口源代码拷贝到Maven工程,运行打包命令并将打包好的Jar包移动到对应进程的Classpath下。

当然也可以通过为每个进程拷贝一份maven打包工程,来绕过这个同步问题。这个不在讨论范围内。

Flock

flock有几种使用方式,有兴趣的可以自己取查一下。我这里需要在脚本里运行命令,例子:

#!/bin/bash
{
flock -w 10 200
[ $? -eq 1 ] && { echo fail; exit; }
echo "lock it and wait"
sleep 10
} 200<>.lock

例子很简单,-w 10意思是超时时间为10秒,200为文件描述符。

Reference

http://linux.die.net/man/1/flock

目录
相关文章
|
10天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
27天前
|
安全 Shell Linux
【Shell 命令集合 系统管理 】Linux 锁定终端 vlock命令 使用指南
【Shell 命令集合 系统管理 】Linux 锁定终端 vlock命令 使用指南
35 1
|
27天前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 显示当前登录到系统的用户信息 who命令 使用指南
【Shell 命令集合 系统管理 】Linux 显示当前登录到系统的用户信息 who命令 使用指南
42 1
|
27天前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 显示目前登入系统的用户信息 w命令 使用指南
【Shell 命令集合 系统管理 】Linux 显示目前登入系统的用户信息 w命令 使用指南
42 2
|
27天前
|
存储 Shell Linux
【Shell 命令集合 系统管理 】Linux 修改用户的属性和配置 usermod命令 使用指南
【Shell 命令集合 系统管理 】Linux 修改用户的属性和配置 usermod命令 使用指南
30 1
|
11天前
|
Shell Linux
【Linux】12. 模拟实现shell
【Linux】12. 模拟实现shell
27 2
|
24天前
|
存储 算法 Shell
【Linux 环境变量相关】深入理解Linux下 CMake、Shell 与环境变量的交互(二)
【Linux 环境变量相关】深入理解Linux下 CMake、Shell 与环境变量的交互
44 0
|
25天前
|
Shell Linux 开发工具
shell的介绍以及Linux权限的讲解
shell的介绍以及Linux权限的讲解
31 2
|
27天前
|
网络协议 Shell Linux
【Shell 命令集合 系统管理 】Linux 查询域名的注册信息 whois命令 使用指南
【Shell 命令集合 系统管理 】Linux 查询域名的注册信息 whois命令 使用指南
46 1
|
27天前
|
存储 Shell Linux
【Shell 命令集合 系统管理 】Linux 显示当前登录用户的用户 whoami命令 使用指南
【Shell 命令集合 系统管理 】Linux 显示当前登录用户的用户 whoami命令 使用指南
42 1