How to Use Linux nohup Command {With Examples} – phoenixNAP

Introduction

SIGHUP (Signal Hang UP) is a signal that terminates a Linux process when its control terminal is closed. If you accidentally close a terminal or lose connection to the server, all processes running at that time are automatically terminated.

Using the nohup command is

a way to block the SIGHUP signal and allow processes to complete even after logging out of the terminal/shell. In this article, you will learn how to use the nohup command while running processes. nohup syntax The syntax for using the nohup command is: nohup [command] [argument] nohup options The

nohup command presents two basic command options, the –help and -version options.

To display the help

message, run the command

: nohup -help To display the version information,

type:

nohup -version nohup Examples

There are several ways to use the nohup command, including running the required process in the background, running multiple processes simultaneously, or redirecting the output to a different file

.

The following examples explain common use cases for the nosup command

.

1. Run a process with

nohup To run a command using nohup

without any arguments, simply follow the syntax: nohup [command] The shell ignores the output and appends it to the nohup.out file. For example, running the bash example.sh script (which is a simple Hello World script) should display the Hello World message in the nohup.out

: nohup bash file example.sh

Verify the contents of the file with:

cat nohup.out

2.

Running a background process with nohup

Running a Linux process in the background frees up the terminal you’re working on. To run a Linux process in the background with the nohup command, add the & symbol to the end of the command: nohup [command] & For example, to run the bash script example.sh in the background, use the command: nohup bash example.sh & The output shows the shell job ID and process ID – [1] 7366 in the example below. To bring the command to the

foreground, Type:

fg

The result indicates whether the process is ongoing or complete

.

3. Running multiple processes in the background

with nohup nohup bach -c ‘[command1] && [command2]’

Replace [command1] and [command2] with the commands of your choice. Add more commands if needed, making sure to separate them with &&.

For example, to display the date/time and calendar of the

current month, run

: nohup bash -c ‘date && cal’ As the output goes to the nohup.out file, use the cat command

to list the contents of the file and check the above command: cat nohup.out

The output displays the date and calendar requested with the above command

.

4. Redirect

the output to a different file As mentioned in the previous section, nohup

logs all output messages and errors in the nohub.out file. Redirect these messages by specifying a custom location within the command: nohup [command] > /path/to/output/file.txt In the following example, the output of the nohup bash -c command ‘date && cal’ is redirected to the output file

.txt. Check the output with the command:

cat output.txt

Conclusion

After reading this article, you should know how to use the nohup command to run background processes and redirect their output

.

As an alternative to using the nosup command, consider checking out Tmux. Tmux was built to support multitasking in a terminal window. Learn more in our comprehensive Tmux tutorial.

Contact US