Home Learn Linux Nohup Linux command with examples

Nohup Linux command with examples

by Habib Ahmed
nohup linux command

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.

You may also like

Leave a Comment

fl_logo_v3_footer

ENHANCE YOUR LINUX EXPERIENCE.



FOSS Linux is a leading resource for Linux enthusiasts and professionals alike. With a focus on providing the best Linux tutorials, open-source apps, news, and reviews written by team of expert authors. FOSS Linux is the go-to source for all things Linux.

Whether you’re a beginner or an experienced user, FOSS Linux has something for everyone.

Follow Us

Subscribe

©2016-2023 FOSS LINUX

A PART OF VIBRANT LEAF MEDIA COMPANY.

ALL RIGHTS RESERVED.

“Linux” is the registered trademark by Linus Torvalds in the U.S. and other countries.