unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Page:
Section:
Apropos / Subsearch:
optional field

nohup(1)                         User Commands                        nohup(1)



NAME
       nohup - run a command immune to hangups

SYNOPSIS
       /usr/bin/nohup command [argument...]

       /usr/bin/nohup -p [-Fa] pid [pid...]

       /usr/bin/nohup -g [-Fa] gpid [gpid...]

       /usr/xpg4/bin/nohup command [argument...]

DESCRIPTION
       The  nohup  utility  invokes  the named command with the arguments sup-
       plied.  When the command is invoked, nohup arranges for the SIGHUP sig-
       nal to be ignored by the process.

       When  invoked  with  the  -p  or -g flags, nohup arranges for processes
       already running as identified by a list of process IDs  or  a  list  of
       process group IDs to become immune to hangups.

       The nohup utility can be used when it is known that command will take a
       long time to run and the user wants to log out of the terminal. When  a
       shell  exits,  the  system  sends its children SIGHUP signals, which by
       default cause them to be killed. All stopped, running,  and  background
       jobs  will  ignore  SIGHUP and continue running, if their invocation is
       preceded by the nohup command or if the  process  programmatically  has
       chosen to ignore SIGHUP.

       /usr/bin/nohup

           Processes  run  by /usr/bin/nohup are immune to SIGHUP (hangup) and
           SIGQUIT (quit) signals.



       /usr/bin/nohup -p [-Fa]

           Processes specified by ID are made immune to  SIGHUP  and  SIGQUIT,
           and  all  output  to  the  controlling  terminal  is  redirected to
           nohup.out. If -F is specified, nohup will  force  control  of  each
           process.  If -a is specified, nohup will change the signal disposi-
           tion of SIGHUP and SIGQUIT even if the process has installed a han-
           dler for either signal.



       /usr/bin/nohup -g [-Fa]

           Every  process in the same process group as the processes specified
           by ID are made immune to SIGHUP and SIGQUIT, and all output to  the
           controlling  terminal  is  redirected to nohup.out. If -F is speci-
           fied, nohup will force control of each process. If -a is specified,
           nohup will change the signal disposition of SIGHUP and SIGQUIT even
           if the process has installed a handler for either signal.



       /usr/xpg4/bin/nohup

           Processes run by /usr/xpg4/bin/nohup are immune to SIGHUP.

           The nohup utility does not arrange to make processes  immune  to  a
           SIGTERM  (terminate) signal, so unless they arrange to be immune to
           SIGTERM or the shell  makes  them  immune  to  SIGTERM,  they  will
           receive it.

           If  nohup.out  is  not writable in the current directory, output is
           redirected to $HOME/nohup.out. If a file is created, the file  will
           have read and write permission (600, see chmod(1)). If the standard
           error is a terminal, it is redirected to the standard output,  oth-
           erwise  it  is  not  redirected. The priority of the process run by
           nohup is not altered.



OPTIONS
       The following options are supported:

       -a       Always changes the signal  disposition  of  target  processes.
                This option is valid only when specified with -p or -g.



       -F       Force.  Grabs the target processes even if another process has
                control. This option is valid only when specified with  -p  or
                -g.



       -g       Operates on a list of process groups. This option is not valid
                with -p.



       -p       Operates on a list of processes. This option is not valid with
                -g.



OPERANDS
       The following operands are supported:

       pid             A decimal process ID to be manipulated by nohup -p.



       pgid            A  decimal  process group ID to be manipulated by nohup
                       -g.



       command         The name of a command that is to  be  invoked.  If  the
                       command    operand    names    any   of   the   special
                       shell_builtins(1) utilities, the results are undefined.



       argument        Any string to be supplied as an argument when  invoking
                       the command operand.



EXAMPLES
       Example 1: Applying nohup to pipelines or command lists

       It is frequently desirable to apply nohup to pipelines or lists of com-
       mands. This can be done only by placing pipelines and command lists  in
       a single file, called a shell script. One can then issue:

       example$ nohup sh file

       and  the  nohup applies to everything in file. If the shell script file
       is to be executed often, then the need to type sh can be eliminated  by
       giving file execute permission.

       Add  an  ampersand  and  the contents of file are run in the background
       with interrupts also ignored (see sh(1)):

       example$ nohup file &

       Example 2: Applying nohup -p to a process

       example$ long_running_command &&
       example$ nohup -p `pgrep long_running_command`

       Example 3: Applying nohup -g to a process group

       example$ make &&
       example$ ps -o sid -p $$
          SID
       81079
       example$ nohup -g `pgrep -s 81079 make`

ENVIRONMENT VARIABLES
       See environ(5) for descriptions of the following environment  variables
       that  affect  the  execution  of nohup: LANG, LC_ALL, LC_CTYPE, LC_MES-
       SAGES, PATH, NLSPATH, and PATH.

       HOME     Determine the path name of the user's home directory:  if  the
                output  file nohup.out cannot be created in the current direc-
                tory, the nohup command will use the directory named  by  HOME
                to create the file.



EXIT STATUS
       The following exit values are returned:

       126      command was found but could not be invoked.



       127      An error occurred in nohup, or command could not be found



       Otherwise,  the exit values of nohup will be those of the command oper-
       and.

FILES
       nohup.out               The output file of the nohup execution if stan-
                               dard  output  is  a terminal and if the current
                               directory is writable.



       $HOME/nohup.out         The output file of the nohup execution if stan-
                               dard  output  is  a terminal and if the current
                               directory is not writable.



ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

   /usr/bin/nohup
       tab()    allbox;    cw(2.750000i)|     cw(2.750000i)     lw(2.750000i)|
       lw(2.750000i).    ATTRIBUTE   TYPEATTRIBUTE  VALUE  AvailabilitySUNWcsu
       CSIenabled


   /usr/xpg4/bin/nohup
       tab()    allbox;    cw(2.750000i)|     cw(2.750000i)     lw(2.750000i)|
       lw(2.750000i).    ATTRIBUTE  TYPEATTRIBUTE  VALUE  AvailabilitySUNWxcu4
       CSIenabled Interface StabilityStandard


SEE ALSO
       batch(1), chmod(1), csh(1), ksh(1), nice(1), pgrep(1), proc(1),  ps(1),
       sh(1),  shell_builtins(1),  signal(3C),  proc(4),  attributes(5), envi-
       ron(5), standards(5)

WARNINGS
       If you are running the Korn shell (ksh(1)) as  your  login  shell,  and
       have  nohup'ed  jobs  running  when you attempt to log out, you will be
       warned with the message:

       You have jobs running.

       You will then need to log out a second time to actually log  out.  How-
       ever, your background jobs will continue to run.

NOTES
       The  C-shell  (csh(1)) has a built-in command nohup that provides immu-
       nity from SIGHUP, but does not redirect output to  nohup.out.  Commands
       executed  with `&&' are automatically immune to HUP signals while in the
       background.

       nohup does not recognize command sequences. In the case of the  follow-
       ing command,

       example$ nohup command1; command2

       the nohup utility applies only to command1. The command,

       example$ nohup (command1; command2)

       is syntactically incorrect.



SunOS 5.10                        16 Nov 2001                         nohup(1)