Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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
       +-----------------------------+-----------------------------+
       |      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),	 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)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | OPERANDS | EXAMPLES | ENVIRONMENT VARIABLES | EXIT STATUS | FILES | ATTRIBUTES | SEE ALSO | WARNINGS | NOTES

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=nohup&sektion=1&manpath=SunOS+5.10>

home | help