view · edit · print · history

nohup is a command used to run a process and have it continue to run regardless whether you log out and close the connection to a server.

When you are connected to a server and wish to log out, a hangup (SIGHUP) signal is sent to all the processes you have run. Using nohup to run a program causes this signal to be ignored.

For example, you might want to download some files with wget, and be able to log out and have these files still download for you. One could use

nohup wget --quiet http://www.example.com/some_large_file & to have wget download these files in the background, and continue to do so even after you log out. The quiet flag is set because while wget is in the background, the job will suspend if it creates any output to the terminal. This is part of the coreutils package.

ipkg install coreutils

An alternative is the shell build-in command disown :
$ help disown
disown: disown [-h] [-ar] [jobspec ...]
By default, removes each JOBSPEC argument from the table of active jobs.
If the -h option is given, the job is not removed from the table, but is
marked so that SIGHUP is not sent to the job if the shell receives a
SIGHUP. The -a option, when JOBSPEC is not supplied, means to remove all
jobs from the job table; the -r option means to remove only running jobs.

So you would run:
$ wget --quiet http://www.example.com/some_large_file &
$ disown

view · edit · print · history · Last edited by Malfi.
Originally by Conrad.
Page last modified on August 09, 2005, at 06:49 PM