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

Syntax:

nohup COMMAND [ARGS]

or

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

Example:

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 fosslinux.com

Example:

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

Example:

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'

Example:

nohup running multiple commands
nohup running multiple commands

Conclusion

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.

Habib Ahmed
He is a professional writer with more than seven years of experience in the field. He also enjoys technical writing/ manuals, white papers, and scientific presentations.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

STAY CONNECTED

22,907FansLike
430FollowersFollow
16SubscribersSubscribe

LATEST ARTICLES

MUST READ

EndeavourOS is an extremely recent distro in the Linux space released back in July 2019 as a spiritual successor to Antergos Linux, which was also discontinued in May 2019. In function, it is a rolling release distro based on Arch Linux with a focus on delivering a beginner-friendly pre-configured desktop environment to its users.
If we look at today's market, there are plenty of laptops available from different companies. The laptops differ in various ways, such as specifications, models, functionality, and many more. The common thing about all the laptop regardless of the type and functionality is that they all have operating systems that power the laptops. There are a variety of operating systems, the common ones being Windows, Linux, and macOS.