Go Back    


Recursive Search Engine for Linux and Unix Man Pages by Neo
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

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 supplied.  When the command
       is invoked, nohup arranges for the SIGHUP signal 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 takes a long time to  run  and
       the  user wants to log out of the terminal. When a shell exits, the system sends its chil-
       dren SIGHUP signals, which by default cause them to be killed. All stopped,  running,  and
       background  jobs  ignores  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  redi-
				  rected  to  nohup.out. If -F is specified, nohup forces control
				  of each process. If -a is specified, nohup changes  the  signal
				  disposition  of  SIGHUP  and	SIGQUIT  even  if the process has
				  installed a handler for either signal.

       /usr/bin/nohup -g [-Fa]	  Every process in the same process group as the processes speci-
				  fied	by ID are made immune to SIGHUP and SIGQUIT, and all out-
				  put to the controlling terminal is redirected to nohup.out.  If
				  -F is specified, nohup forces control of each process. If -a is
				  specified, nohup changes 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	has  read and write permission (600. See chmod(1). If the
				  standard error is a terminal, it is redirected to the  standard
				  output,  otherwise  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.

USAGE
       Caution	should be exercised when using the -F flag. Imposing two controlling processes on
       one victim process can lead to chaos. Safety is assured only if	the  primary  controlling
       process,  typically a debugger, has stopped the victim process and the primary controlling
       process is doing nothing at the moment of application of the proc tool in question.

EXAMPLES
       Example 1 Applying nohup to pipelines or command lists

       It is frequently desirable to apply nohup to pipelines or lists of commands. 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_MESSAGES, 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 directory, the nohup command uses  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 are those of the command operand.

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

       $HOME/nohup.out	  The output file of the nohup execution if standard 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
       +-----------------------------+-----------------------------+
       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWcsu			   |
       +-----------------------------+-----------------------------+
       |CSI			     |Enabled			   |
       +-----------------------------+-----------------------------+

   /usr/xpg4/bin/nohup
       +-----------------------------+-----------------------------+
       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWxcu4			   |
       +-----------------------------+-----------------------------+
       |CSI			     |Enabled			   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+

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), environ(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 are warned with the message:

	 You have jobs running.

       You  need to log out a second time to actually log out. However, your background jobs con-
       tinues to run.

NOTES
       The C-shell (csh(1)) has a built-in command nohup that provides immunity 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 following command,

	 example$ nohup command1; command2

       the nohup utility applies only to command1. The command,

	 example$ nohup (command1; command2)

       is syntactically incorrect.

SunOS 5.11				   19 Jun 2006					 nohup(1)
The UNIX and Linux Forums Man Pages : 2014 The UNIX and Linux Forums


All times are GMT -4. The time now is 09:32 AM.