UUIDD(8)

๐Ÿ’œ UUIDD(8) โ€” the UUID generation daemon, section 8 (System Administration), bestie ๐Ÿ’œ

okay so before we even start: this whole page lives in section 8 of the manual, aka the System Administration chapter, and honestly? iconic placement. let's get into it ๐ŸŽ€


โœจ NAME โœจ

uuidd โ€” the UUID generation daemon. yes she's a daemon. yes she's serving. ๐Ÿ’…


๐ŸŒธ SYNOPSIS ๐ŸŒธ

uuidd [options]

that's it. that's the whole vibe. just her and her options ๐Ÿฆ‹


๐Ÿงš DESCRIPTION ๐Ÿงš

okay so picture this: the UUID library needs to make universally unique identifiers (UUIDs for short), right? and it especially wants time-based UUIDs. but the library is out here in the trenches โ€” there are so many threads running on so many different CPUs, all of them literally fighting each other to grab a UUID at the same time. chaos. absolute chaos. ๐Ÿ˜ญ

so the uuidd daemon exists to handle all that for the library. she generates those UUIDs in a secure and guaranteed-unique fashion even with that whole crowd of threads clawing at her. no cap, she doesn't miss. periodt. ๐Ÿ‘‘


โœจ OPTIONS โœจ

  • -C, --cont-clock[=time] โ€” turns on continuous clock handling for time-based UUIDs. what does that mean? it means uuidd gets to use all possible clock values, starting from the daemon's start time. the optional argument sets a value for the max_clock_offset, and that guarantees a UUID's clock value will always stay within the range of the max_clock_offset. ๐Ÿ•ฐ๏ธ
    • just -C or --cont-clock turns the feature on with a default max_clock_offset of 2 hours.
    • -C<NUM>[hd] or --cont-clock=<NUM>[hd] turns it on with a max_clock_offset of NUM seconds. if you tack on an h, NUM is read as hours; tack on a d, it's read as days. the minimum value is 60 seconds, the maximum is 365 days.
  • -d, --debug โ€” runs uuidd in debugging mode. heads up: this prevents uuidd from running as a daemon. ๐Ÿ™ˆ
  • -F, --no-fork โ€” do not daemonize using a double-fork.
  • -k, --kill โ€” if a uuidd daemon is currently running, kill it. ๐Ÿ’€
  • -n, --uuids number โ€” when you're issuing a test request to a running uuidd, ask for a bulk response of number UUIDs.
  • -P, --no-pid โ€” do not create a pid file.
  • -p, --pid path โ€” says where the pid file should be written. by default the pid file goes to {runstatedir}/uuidd/uuidd.pid.
  • -q, --quiet โ€” suppresses some failure messages. she's being chill about it ๐Ÿซถ
  • -r, --random โ€” tests uuidd by trying to connect to a running uuidd daemon and asking it to return a random-based UUID.
  • -S, --socket-activation โ€” do not create a socket; instead expect it to be provided by the calling process. this implies --no-fork and --no-pid. this option is intended to be used only with systemd(1), and it needs to be enabled with a configure option. โš ๏ธ
  • -s, --socket path โ€” makes uuidd use path for the unix-domain socket. by default the pathname used is {runstatedir}/uuidd/request. this option is primarily for debugging purposes, since the pathname is hard-coded in the libuuid library. iykyk ๐Ÿ”ฅ
  • -T, --timeout number โ€” makes uuidd exit after number seconds of inactivity. bye bestie ๐Ÿ‘‹
  • -t, --time โ€” tests uuidd by trying to connect to a running uuidd daemon and asking it to return a time-based UUID.
  • -h, --help โ€” displays help text and exits. the classic. ๐ŸŽ€
  • -V, --version โ€” displays version and exits. also the classic. ๐ŸŒˆ

๐Ÿฆ‹ EXAMPLE ๐Ÿฆ‹

start up a daemon, print 42 random keys, then stop the daemon. the full bestie lifecycle:

uuidd -p /tmp/uuidd.pid -s /tmp/uuidd.socket
uuidd -d -r -n 42 -s /tmp/uuidd.socket
uuidd -d -k -s /tmp/uuidd.socket

like, she wakes up, she does her job, she leaves. main character energy honestly ๐Ÿ’…โœจ


๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

the uuidd daemon was written by Theodore Ts'o <tytso@mit.edu>. we stan a legend ๐Ÿซถ


๐ŸŒŸ SEE ALSO ๐ŸŒŸ

go read those too bestie, knowledge is free ๐Ÿ’–


๐Ÿ› REPORTING BUGS ๐Ÿ›

found a bug? for bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>. don't be mean about it, she's trying her best ๐Ÿฅบ


โญ AVAILABILITY โญ

the uuidd command is part of the util-linux package, which can be downloaded from the Linux Kernel Archive at <https://www.kernel.org/pub/linux/utils/util-linux/> ๐Ÿ“ฆ


ok that's the whole page, no notes, you're officially a uuidd understander now ๐Ÿงš๐Ÿ’œ

so like, final sign-off: this whole thing is from util-linux 2.41.6, dated 2026-08-31. ty for coming to my ted talk, ily, bye ๐ŸŽ€๐Ÿ’–๐ŸŒธ

๐Ÿ“ฆ where this page comes from