Nohup Linux command with examples

Would you like to run a process in the background even after logging off your Linux PC? This session of Terminal Tuts teaches you the Nohup Linux command with examples.

Typically, in Linux, when your connection drops or user log out from the system, your session will terminate, and all the processes executed from the terminal will stop. If you want a program or command to keep running in the background even after log out or exit from the system, you may have to use the nohup command.

The nohup command will execute other programs or commands with its provided arguments and ignore all hangup signals. This command is useful, especially when connected to your server via SSH, and want the program or command to keep running in the background even after disconnecting from the server.

Nohup Linux Command




nohup options

To find help regarding the nohup command:

nohup --help

To find the version information of nohup, use the below command:

nohup --version

1. Running Command in Foreground

By default, nohum command runs in the foreground and redirects the output to the ‘nohup.output’ file. This file will be created in the current working directory. If the user does not have permission, it will be created in the user’s home directory.

$ nohup ls


running nohup in foreground
running nohup in foreground

2. Running the Command in Background

Using the nohup command in the foreground has a drawback that you cannot interact with the terminal until command execution finishes. So to avoid this, we will run the command in the background like this

$ nohup ping


running nohup in background
running nohup in background

You can see in the above example all the command output will be appended to the nohup.out file. You can view this file using the ‘cat nohup’ command in the Terminal.

[1] 2233

Where [1] is Job ID, and 2233 is the (PID) of the background process. You can use this Process ID to kill the background process:

$ kill 2233

The above command will kill the background process.

3. Redirecting Output to a File

By default, the nohup command writes output to the nohup.out file. You can define your own output file as well using standard shell redirection.

$ nohup ls > list.out


nohup custom output file
nohup custom output file

You can also create separate files for output and error using the following command-line.

nohup ls > list.out 2 > list.err

4. Running Multiple Commands

You can also run multiple commands with nohup.  In the below example, mkdir, bash, and ls commands are running in the background.

nohup  bash -c 'mkdir fossDir && ls'


nohup running multiple commands
nohup running multiple commands


In this tutorial, the uses of the nohup command are explained with straightforward examples, and we hope that now you can understand the usefulness of this command very well. Please feel free to leave a comment.

Related Articles


Please enter your comment!
Please enter your name here


Latest Articles


Cinnamon 5 desktop review

If you are a veteran in the Linux operating system world, you are familiar with the various Linux operating system desktop environments. They make the Linux operating system modular and flexible such that you can remove and replace its graphical layout, or you can choose to work under a non-graphical interface.


More Articles Like This