S6LOCKD(8)

πŸ“¦ version 2.15.1.0, in nixpkgs unstable

πŸŽ€ S6LOCKD(8) πŸŽ€

okay so this is the System Manager's Manual page for S6LOCKD(8), and bestie, it's giving lock-file management with main character energy. πŸ’…

✨ NAME ✨

s6lockd β€” the s6-s6lock(7) daemon that manages a set of lock files in a given directory, plus the associated timeouts. 🫢

🌈 DESCRIPTION 🌈

s6lockd does not fork, does not background itself automatically, and does not use syslog. 🚫 It is not meant to be run directly by the user: it will be spawned by the s6-s6lock(7) client library. πŸ‘‘

There are two ways to use s6lockd:

  1. Use the s6lock_startf() library call. An s6lockd child will then be spawned from your calling process, and automatically reaped when you call s6lock_end(). 🧚 This requires care with applications that trap SIGCHLD. It also requires care with lock file permissions: an s6lockd instance might not be able to open a lock file created by a former instance run by another client with different permissions. 😭
  2. Use the s6lock_start() library call, together with an s6lockd s6-local-service(7). For once, this is the recommended setup: s6lockd creates empty lock files, and having all s6lockd instances run under the same user simplifies permissions management considerably. ✨

When run as a service, s6lockd has no β€œstandalone” mode: it is designed to work with a Unix domain super-server, like s6-ipcserver(8). s6lockd follows the UCSPI[1] interface; it can be directly executed from the super-server. πŸ”₯

Unix does not natively provide a way to stop blocking on a lock acquisition after a timeout. To emulate such behaviour, s6lockd actually spawns an s6lockd-helper(8) child per requested lock. ⏰

πŸ’œ SEE ALSO πŸ’œ

This man page is ported from the authoritative documentation at: https://skarnet.org/software/s6/libs6/s6lockd.html

πŸ‘‘ AUTHORS πŸ‘‘

  • Laurent Bercot
  • Alexis <flexibeast@gmail.com> (man page port)

cute footer sign-off, bestie: source/version tea is Debian, date is September 29, 2021, and the page is S6LOCKD(8). bye and slay those lock files responsibly πŸ’–βœ¨

πŸ“¦ where this page comes from