logd

Section: Maintenance Commands (8)
Updated: October 2006
Index Return to Main Contents
 

NAME

logd - job output logging daemon  

SYNOPSIS

logd [OPTION]...  

DESCRIPTION

logd is started by init(8) to receive the output of jobs with console logged in their job definition, which is the default if no other console setting is given.

Output is timestamped and written, with the job name, to /var/log/boot or stored in memory until the file is writable.  

OPTIONS

--daemon
Detaches from the terminal and runs in the background.
 

STARTUP

To eliminate race conditions on startup, such as not being ready to receive connections when the first job is started, the following procedure is used.

Once ready to receive connections, logd raises the SIGSTOP signal, putting itself to sleep until continued by another process.

After starting logd, init(8) waits for the process to stop if it hasn't already, and then sends it the SIGCONT signal so that it can proceed. Only once this has happened, will init(8) start other jobs.

When the --daemon option is given, this is not performed; instead logd will not detach from the console until it is listening on the socket.  

SOCKET PROTOCOL

logd listens on a unix(7) stream socket in the abstract namespace, bound to /com/ubuntu/upstart/logd.

init(8) opens a new connection for each job that is to be logged, binding the socket to the standard input, output and error file descriptors for the job.

Before running the job, it sends the job name on the socket so that it can be logged along with the messages. This is sent as a size_t that contains the length of the name to read, followed by that many character bytes. The NULL terminator is not sent as part of the protocol, it is up to the receiver to add that if required.

Further information about the job, such as its description, can be obtained by opening an ordinary connection to the init(8) daemon and querying it using the name received.  

AUTHOR

Written by Scott James Remnant.  

REPORTING BUGS

Report bugs at https://launchpad.net/products/upstart/+bugs  

COPYRIGHT

Copyright © 2006 Canonical Ltd.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  

SEE ALSO

init(8)