SLEEP(1P)

๐Ÿ’ค SLEEP(1P) โ€” the POSIX Programmer's Manual, bestie edition

okay so this little page lives in the POSIX Programmer's Manual (yes, the 1P one, not the regular Linux one), and the vibe check first: the Linux implementation of this interface might do stuff differently (so go read the corresponding Linux manual page for the deets on Linux behavior), or honestly the interface might just not be implemented on Linux at all. ๐Ÿ™ˆ


โœจ PROLOG โœจ

This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ โ€” consult the corresponding Linux manual page for details of Linux behavior โ€” or the interface may not be implemented on Linux. So like, don't come for me if your box is built different. ๐Ÿ’…


๐ŸŒธ NAME ๐ŸŒธ

sleep โ€” suspend execution for an interval. she literally just naps. iconic behavior.


๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

sleep time

๐Ÿ’– DESCRIPTION ๐Ÿ’–

The sleep utility shall suspend execution for at least the integral number of seconds specified by the time operand. at least, bestie. it's not gonna wake up early for you.


โœจ OPTIONS โœจ

None. zero. zilch. the girl has no flags, she simply sleeps. ๐Ÿ’ค


๐ŸŽ€ OPERANDS ๐ŸŽ€

The following operand shall be supported:

  • time โ€” a non-negative decimal integer specifying the number of seconds for which to suspend execution. that's the whole assignment.

๐ŸŒˆ STDIN ๐ŸŒˆ

Not used. she's not listening. ๐Ÿ˜ด


๐Ÿ“ INPUT FILES ๐Ÿ“

None.


๐Ÿ’œ ENVIRONMENT VARIABLES ๐Ÿ’œ

The following environment variables shall affect the execution of sleep:

  • LANG โ€” provides a default value for the internationalization variables that are unset or null. (Check the Base Definitions volume of POSIX.1โ€2017, Section 8.2, Internationalization Variables, for the precedence of internationalization variables used to determine the values of locale categories.)
  • LC_ALL โ€” if set to a non-empty string value, it overrides the values of all the other internationalization variables. she's the main character fr.
  • LC_CTYPE โ€” determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multi-byte characters in arguments).
  • LC_MESSAGES โ€” determines the locale that should be used to affect the format and contents of diagnostic messages written to standard error.
  • NLSPATH โ€” determines the location of message catalogs for the processing of LC_MESSAGES.

๐Ÿงš ASYNCHRONOUS EVENTS ๐Ÿงš

If the sleep utility receives a SIGALRM signal, one of the following actions shall be taken:

  1. Terminate normally with a zero exit status.
  2. Effectively ignore the signal.
  3. Provide the default behavior for signals described in the ASYNCHRONOUS EVENTS section of Section 1.4, Utility Description Defaults. This could include terminating with a non-zero exit status.

The sleep utility shall take the standard action for all other signals. so SIGALRM gets the special treatment, everyone else gets the default. ๐Ÿ’…


โญ STDOUT โญ

Not used. no thoughts, no output, just vibes.


๐Ÿ”ฅ STDERR ๐Ÿ”ฅ

The standard error shall be used only for diagnostic messages.


๐ŸŒธ OUTPUT FILES ๐ŸŒธ

None.


๐Ÿ’ซ EXTENDED DESCRIPTION ๐Ÿ’ซ

None.


๐Ÿ‘‘ EXIT STATUS ๐Ÿ‘‘

The following exit values shall be returned:

  • 0 โ€” the execution was successfully suspended for at least time seconds, or a SIGALRM signal was received. See the ASYNCHRONOUS EVENTS section. yes, getting interrupted counts as a win here, we love that for her.
  • >0 โ€” an error occurred. ๐Ÿ˜ญ

๐Ÿ’€ CONSEQUENCES OF ERRORS ๐Ÿ’€

Default.

The following sections are informative.


๐Ÿซถ APPLICATION USAGE ๐Ÿซถ

None.


๐ŸŒŸ EXAMPLES ๐ŸŒŸ

The sleep utility can be used to execute a command after a certain amount of time, as in:

(sleep 105; command) &

or to execute a command every so often, as in:

while true
do
    command
    sleep 37
done

like a little heartbeat loop, periodt. ๐Ÿ’–


๐Ÿง  RATIONALE ๐Ÿง 

The exit status is allowed to be zero when sleep is interrupted by the SIGALRM signal because most implementations of this utility rely on the arrival of that signal to notify them that the requested finishing time has been successfully attained. Such implementations thus do not distinguish this situation from the successful completion case. Other implementations are allowed to catch the signal and go back to sleep until the requested time expires, or to provide the normal signal termination procedures.

As with all other utilities that take integral operands and do not specify subranges of allowed values, sleep is required by this volume of POSIX.1โ€2017 to deal with time requests of up to 2147483647 seconds. This may mean that some implementations have to make multiple calls to the delay mechanism of the underlying operating system if its argument range is less than this. yeah, that's a lot of napping. ๐Ÿ˜ญ


๐Ÿ”ฎ FUTURE DIRECTIONS ๐Ÿ”ฎ

None.


๐Ÿ’œ SEE ALSO ๐Ÿ’œ

  • wait
  • The Base Definitions volume of POSIX.1โ€2017, Chapter 8, Environment Variables
  • The System Interfaces volume of POSIX.1โ€2017, alarm(), sleep()

Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .

Any typographical or formatting errors that appear in this page are most likely to have been introduced during the conversion of the source files to man page format. To report such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html .


okay that's the whole page bestie, no notes, go take a nap. this icon was brought to you by IEEE/The Open Group, 2017 โ€” so like, credit where credit is due, and that's the tea. ๐Ÿซ–โœจ๐Ÿ’…

๐Ÿ“ฆ where this page comes from