Flock
flock(1) locks files
Install / Use
/learn @discoteq/FlockREADME
flock(1)
flock(1) locks files
The simplest thing that could possibly work
To exclusively lock /tmp/my.lock while running the utility
echo "hello, world!":
flock /tmp/my.lock echo "hello, world!"
You can also use to run a single instance of rsync at a time - note: no need to escape double quotes
flock -n /tmp/my-lock.lock rsync -avr -e "ssh -p 22" "~/my path with spaces/" user@remote-host:/Documents/
Installing
On macOS using Homebrew:
brew install flock
On macOS using MacPorts:
port install flock
From source:
FLOCK_VERSION=0.4.0
wget https://github.com/discoteq/flock/releases/download/v${FLOCK_VERSION}/flock-${FLOCK_VERSION}.tar.xz
xz -dc flock-${FLOCK_VERSION}.tar.xz | tar -x
cd flock-${FLOCK_VERSION}
./configure
make
make install
Wait, isn't there already a flock(1)?
Yep, it's part of util-linux.
What makes discoteq flock(1) different is:
- Support for latest stable Linux (Debian & CentOS), Illumos (OmniOS & SmartOS), Darwin & FreeBSD
- Testing for all major features and edge conditions
- ISC license
- Public access to source history and bug tracking
Project Principles
- Community: If a newbie has a bad time, it's a bug.
- Software: Make it work, then make it right, then make it fast.
- Technology: If it doesn't do a thing today, we can make it do it tomorrow.
Contributing
Got an idea? Something smell wrong? Cause you pain? Or lost seconds of your life you'll never get back?
All contributions are welcome: ideas, patches, documentation, bug reports, complaints, and even something you drew up on a napkin.
Programming is not a required skill. Whatever you've seen about open source and maintainers or community members saying "send patches or die" - you will not see that here.
It is more important to me that you are able to contribute.
Creating a new issue is probably the fastest way to get something fixed, but feel free to contact me via email (joseph@josephholsten.com), in IRC or however you can.
There's no wrong way to file a bug report, but I'll be able to help fastest if you can describe:
- what you did
- what you expected to happen
- what actually happened
(Some of the above was repurposed with <3 from logstash)
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
