Nohup Command in Linux

Filed Under: UNIX/Linux

When exiting the shell of a Linux System, all running processes are usually terminated or hang up. So what do you do If you still want to keep the processes running even exiting the shell/terminal? This is where the nohup command comes in.

Nohup Command

Nohup, short for no hang up is a command in Linux systems that keep processes running even after exiting the shell or terminal.

Nohup prevents the processes or jobs from receiving the SIGHUP (Signal Hang UP) signal. This is a signal that is sent to a process upon closing or exiting the terminal. In this guide, we take a look at the nohup command and demonstrate how it can be used.

Nohup Command Syntax

Nohup command syntax is as follows;

nohup command arguments


nohup options

Let’s see how the command comes into play

Checking the version of Nohup

You can begin by checking the version of Nohup using the syntax below

nohup --version


check version of nohup command

Starting a process using Nohup

If you want to keep your processes/jobs running, precede the command with nohup as shown below. The jobs will still continue running in the shell and will not get killed upon exiting the shell or terminal.

nohup ./ 


Nohup command with regular commands

From the output above, the output of the command has been saved to nohup.out to verify this run,

cat nohup.out


Cat Nohup Out file

Additionally, you can opt to redirect the output to a different file as shown

nohup ./ > output.txt

Once again, to view the file run

cat output.txt


Redirect Nohup Output To A text File

To redirect to a file and to standard error and output use the > filename 2>&1 attribute as shown

nohup ./ > myoutput.txt >2&1 


Redirect to  Standard Out And Standard Error

Starting a process in the background using Nohup

To start a process in the background use the & symbol at the end of the command. In this example, we are pinging and sending it to the background.

nohup ping &


Nohup Run Process In The Background

To check the process when resuming the shell use the pgrep command as shown

pgrep -a ping


Pgrep Ping Google

If you want to stop or kill the running process, use the killcommand followed by the process ID as shown

kill 2565


Kill  PID


  1. All processes that are run using the nohup command will ignore the SIGHUP signal even upon exiting the shell.
  2. Once a job is started or executed using the nohup command, stdin will not be available to the user.
  3. By default, the nohup.out is used as the default file for stdout and stderr.


  1. Edgar Lipnitsky says:

    great for tcpdump :
    nohup sudo tcpdump -i any -nn -w /var/tmp/file.pcap -C 100 -W 50 “src x.x.x.x and dst y.y.y.y” &

    •to find the process that u created :
    – pgrep -a tcpdump
    – ps aux | grep
    then : sudo kill

  2. Hemant Ganwgar says:

    When you run this command normally, does it produce any output as you are redirecting the output in a file.

  3. dinesh says:

    how do i run nohup for this type of cmd

    cat out.csv | cut -d “,” -f3,4 | sed ‘s/,/\t/g’ | sort -n -k 2 > out.txt

    nohup cat out.csv | cut -d “,” -f3,4 | sed ‘s/,/\t/g’ | sort -n -k 2 > out.txt & – doesn’t work

Leave a Reply

Your email address will not be published. Required fields are marked *

Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages