Exit 2 – Finished Background Job Status

Linux commands have different codes, such as Exit1, Exit 2, Exit 3, and so on, that serve different purposes. The “Exit 2” code is one of them, meaning that the command failed to execute due to a problem with the command-line argument. 

In this article, the explanation of “Exit 2” will be discussed in detail and what it signifies in Linux.

  • Understanding Exit Codes in Linux
  • What Does “Exit 2” Mean?
  • Check the Exit Code From the Finished Background Job Status

Understanding Exit Codes in Linux

An exit code is a numerical value that a program or process returns after completion. This value is a way of communicating to the system whether the command was executed successfully or not. In Linux, an exit code of “0” indicates that the program executed successfully, while any other value indicates an error or failure.

What Does “Exit 2” Mean?

When a command or process is executed in the terminal, it returns an exit code upon completion. An exit code of “2” means that the program or command could not execute successfully. Typically, this code signifies a command-line syntax error, indicating that the command entered by the user was incorrect.

It is important to note that “Exit 2” is not the only exit code that signals a failure. Various other codes signify errors, such as “Exit 1,” “Exit 3,” etc. Therefore, it is essential to check the exit code returned by a program to determine the reason for the failure.

Example: Check the Exit Code From Finished Background Job Status

Checking the exit code of a command or process is quite simple in Linux. To check the exit code of the last command executed in the terminal, a user can execute the “echo $?” command.

For example, if a user is trying to list any folder or directory which doesn’t exist, then they will face the exit two error as shown below: 

$ ls directory
$ echo $?

The output shows the exit 2 error via the “echo $?” command.

Similarly, if a user tries to find a specific pattern from any specific folder and it does not exist, then the same error will occur again, as shown below:

grep "pattern" directory/file.txt

The grep command will try to find the word “pattern” from the path “directory/file.txt”. as this path does not exist so an exit 2 code will be generated.


In Linux, the “exit 2” is an exit code that signifies a command-line syntax error. Whenever you encounter this error, it is essential to check the syntax of the command or process executed to determine the cause of the error. Remember to check the exit code of a program to know whether it executed successfully or not. This guide has explained the “exit 2” code from the finished background job status in Linux.