.\" -*- nroff -*-
.\" Copyright 2007 by Theodore Ts'o.  All Rights Reserved.
.\" This file may be copied under the terms of the GNU Public License.
.\"
.TH UUIDD 8 "July 2014" "util-linux" "System Administration"
.SH NAME
uuidd \- UUID generation daemon
.SH SYNOPSIS
.B uuidd
[options]
.SH DESCRIPTION
The
.B uuidd
daemon is used by the UUID library to generate
universally unique identifiers (UUIDs), especially time-based UUIDs,
in a secure and guaranteed-unique fashion, even in the face of large
numbers of threads running on different CPUs trying to grab UUIDs.
.SH OPTIONS
.TP
.BR \-d , " \-\-debug "
Run uuidd in debugging mode.  This prevents uuidd from running as a daemon.
.TP
.BR \-F , " \-\-no-fork "
Do not daemonize using a double-fork.
.TP
.BR \-k , " \-\-kill "
If currently a uuidd daemon is running, kill it.
.TP
.BR \-n , " \-\-uuids " \fInumber\fR
When issuing a test request to a running uuidd, request a bulk response
of
.I number
UUIDs.
.TP
.BR \-P , " \-\-no-pid "
Do not create a pid file.
.TP
.BR \-p , " \-\-pid " \fIpath\fR
Specify the pathname where the pid file should be written.  By default,
the pid file is written to @localstatedir@/uuidd/uuidd.pid.
.TP
.BR \-q , " \-\-quiet "
Suppress some failure messages.
.TP
.BR \-r , " \-\-random "
Test uuidd by trying to connect to a running uuidd daemon and
request it to return a random-based UUID.
.TP
.BR \-S , " \-\-socket-activation "
Do not create a socket but instead expect it to be provided by the calling
process.  This implies \fB--no-fork\fR and \fB--no-pid\fR.  This option is
intended to be used only with \fBsystemd\fR(1).  It needs to be enabled with
a configure option.
.TP
.BR \-s , " \-\-socket " \fIpath\fR
Make uuidd use this pathname for the unix-domain socket.  By default, the
pathname used is @localstatedir@/uuidd/request.  This option is primarily
for debugging purposes, since the pathname is hard-coded in the libuuid
library.
.TP
.BR \-T , " \-\-timeout " \fInumber\fR
Make uuidd exit after \fInumber\fR seconds of inactivity.
.TP
.BR \-t , " \-\-time "
Test uuidd by trying to connect to a running uuidd daemon and
request it to return a time-based UUID.
.TP
.BR \-V , " \-\-version "
Output version information and exit.
.TP
.BR \-h , " \-\-help "
Display help screen and exit.
.SH EXAMPLE
Start up a daemon, print 42 random keys, and then stop the daemon:
.PP
.RS
.nf
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
.nf
.RE
.SH AUTHOR
The
.B uuidd
daemon was written by Theodore Ts'o <tytso@mit.edu>.
.SH "SEE ALSO"
.BR uuid (3),
.BR uuidgen (1)
.SH AVAILABILITY
The uuidd daemon is part of the util-linux package and is available from the
.UR ftp://\:ftp.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
Linux Kernel Archive
.UE .
