Originální popis anglicky:
nohup - invoke a utility immune to hangups
Návod, kniha: POSIX Programmer's Manual
nohup utility [argument...]
The
nohup utility shall invoke the utility named by the
utility
operand with arguments supplied as the
argument operands. At the time
the named
utility is invoked, the SIGHUP signal shall be set to be
ignored.
If the standard output is a terminal, all output written by the named
utility to its standard output shall be appended to the end of the file
nohup.out in the current directory. If
nohup.out cannot be
created or opened for appending, the output shall be appended to the end of
the file
nohup.out in the directory specified by the
HOME
environment variable. If neither file can be created or opened for appending,
utility shall not be invoked. If a file is created, the file's
permission bits shall be set to S_IRUSR | S_IWUSR.
If the standard error is a terminal, all output written by the named
utility to its standard error shall be redirected to the same file
descriptor as the standard output.
None.
The following operands shall be supported:
- utility
- The name of a utility that is to be invoked. If the
utility operand names any of the special built-in utilities in
Special Built-In Utilities , the results are undefined.
- argument
- Any string to be supplied as an argument when invoking the
utility named by the utility operand.
Not used.
None.
The following environment variables shall affect the execution of
nohup:
- HOME
- Determine the pathname of the user's home directory: if the
output file nohup.out cannot be created in the current directory,
the nohup utility shall use the directory named by HOME to
create the file.
- LANG
- Provide a default value for the internationalization
variables that are unset or null. (See the Base Definitions volume of
IEEE Std 1003.1-2001, 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, override the values of
all the other internationalization variables.
- LC_CTYPE
- Determine 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
- Determine the locale that should be used to affect the
format and contents of diagnostic messages written to standard error.
- NLSPATH
- Determine the location of message catalogs for the
processing of LC_MESSAGES .
- PATH
- Determine the search path that is used to locate the
utility to be invoked. See the Base Definitions volume of
IEEE Std 1003.1-2001, Chapter 8, Environment Variables.
The
nohup utility shall take the standard action for all signals except
that SIGHUP shall be ignored.
If the standard output is not a terminal, the standard output of
nohup
shall be the standard output generated by the execution of the
utility
specified by the operands. Otherwise, nothing shall be written to the standard
output.
If the standard output is a terminal, a message shall be written to the standard
error, indicating the name of the file to which the output is being appended.
The name of the file shall be either
nohup.out or
$HOME/nohup.out.
If the standard output is a terminal, all output written by the named
utility to the standard output and standard error is appended to the
file
nohup.out, which is created if it does not already exist.
None.
The following exit values shall be returned:
- 126
- The utility specified by utility was found but could
not be invoked.
- 127
- An error occurred in the nohup utility or the
utility specified by utility could not be found.
Otherwise, the exit status of
nohup shall be that of the utility
specified by the
utility operand.
Default.
The following sections are informative.
The
command,
env,
nice,
nohup,
time, and
xargs utilities have been specified to use exit code 127 if an error
occurs so that applications can distinguish "failure to find a
utility" from "invoked utility exited with an error
indication". The value 127 was chosen because it is not commonly used for
other meanings; most utilities use small values for "normal error
conditions" and the values above 128 can be confused with termination due
to receipt of a signal. The value 126 was chosen in a similar manner to
indicate that the utility could be found, but not invoked. Some scripts
produce meaningful error messages differentiating the 126 and 127 cases. The
distinction between exit codes 126 and 127 is based on KornShell practice that
uses 127 when all attempts to
exec the utility fail with [ENOENT], and
uses 126 when any attempt to
exec the utility fails for any other
reason.
It is frequently desirable to apply
nohup to pipelines or lists of
commands. This can be done by placing pipelines and command lists in a single
file; this file can then be invoked as a utility, and the
nohup applies
to everything in the file.
Alternatively, the following command can be used to apply
nohup to a
complex command:
nohup sh -c 'complex-command-line'
The 4.3 BSD version ignores SIGTERM and SIGHUP, and if
./nohup.out cannot
be used, it fails instead of trying to use
$HOME/nohup.out.
The
csh utility has a built-in version of
nohup that acts
differently from the
nohup defined in this volume of
IEEE Std 1003.1-2001.
The term
utility is used, rather than
command, to highlight the
fact that shell compound commands, pipelines, special built-ins, and so on,
cannot be used directly. However,
utility includes user application
programs and shell scripts, not just the standard utilities.
Historical versions of the
nohup utility use default file creation
semantics. Some more recent versions use the permissions specified here as an
added security precaution.
Some historical implementations ignore SIGQUIT in addition to SIGHUP; others
ignore SIGTERM. An early proposal allowed, but did not require, SIGQUIT to be
ignored. Several reviewers objected that
nohup should only modify the
handling of SIGHUP as required by this volume of
IEEE Std 1003.1-2001.
None.
Shell Command Language ,
sh , the System Interfaces volume of
IEEE Std 1003.1-2001,
signal()
Portions of this text are reprinted and reproduced in electronic form from IEEE
Std 1003.1, 2003 Edition, Standard for Information Technology -- Portable
Operating System Interface (POSIX), The Open Group Base Specifications Issue
6, Copyright (C) 2001-2003 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
.