Man Linux: Main Page and Category List

NAME

       nohup - invoke a utility immune to hangups

SYNOPSIS

       nohup utility [argument...]

DESCRIPTION

       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.

OPTIONS

       None.

OPERANDS

       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.

STDIN

       Not used.

INPUT FILES

       None.

ENVIRONMENT VARIABLES

       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.

ASYNCHRONOUS EVENTS

       The nohup utility shall take the standard action for all signals except
       that SIGHUP shall be ignored.

STDOUT

       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.

STDERR

       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.

OUTPUT FILES

       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.

EXTENDED DESCRIPTION

       None.

EXIT STATUS

       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.

CONSEQUENCES OF ERRORS

       Default.

       The following sections are informative.

APPLICATION USAGE

       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.

EXAMPLES

       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 -ccomplex-command-line

RATIONALE

       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.

FUTURE DIRECTIONS

       None.

SEE ALSO

       Shell  Command  Language  ,  sh  ,  the  System  Interfaces  volume  of
       IEEE Std 1003.1-2001, signal()

COPYRIGHT

       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 .