Show HN: Linux CLI tool to provide mutex locks for long running bash ops

25 bigattichouse 10 7/17/2025, 4:58:40 AM github.com ↗
Been exploring claude and spec-based coding, I think it turned out fairly successful. It's just a simple unix-style tool that gives you a single command to use in bash scripts to simplify mutex or semaphore locking of execution.

Comments (10)

sluongng · 1h ago
yjftsjthsd-h · 1h ago
Nit: Probably https://man7.org/linux/man-pages/man1/flock.1.html (shell command, not the underlying libc function)
anitil · 1h ago
This was my first thought and I suppose flock(1) could be used to recreate a lot of this. But it does come with some other quality-of-life improvements like being able to list all currently-used locks, having a lock holdable by N processes etc.
Zacru · 1h ago
Because that's a syscall ;) https://man7.org/linux/man-pages/man1/flock.1.html is the command line manual.

I would say one good reason is that

  waitlock myapp &
  JOB_PID=$!
  # ... do exclusive work ...
  kill $JOB_PID
is a lot easier to use and remember than

  (; flock -n 9 || exit 1; # ... commands executed under lock ...; ) 9>/var/lock/mylockfile
permalac · 47m ago
Flock can be used in a single line for example for cronjobs.

Flock -s file && script.

Pretty simple. (I forgot the argument, I think is -s..

yjftsjthsd-h · 1h ago
Why

  (; flock -n 9
and not

  ( flock -n 9

?
asddfgg55 · 2h ago
Useful project, I love all things terminal, so I also enjoyed your project.
eddythompson80 · 53m ago
You enjoyed the project because you love the terminal?
forrestthewoods · 1h ago
I don’t know the exact threshold at which you should use a real programming language instead of a bash script. But this type of work definitely exceeds it.
anitil · 1h ago
While in general I'd agree, this isn't necessarily just for bash scripts. It could just wrap the execution of another program allowing higher-level logic to handle concurrency and the low-level program to do it's one-at-a-time job