run background process in python

How to Start Background Process in Python

Python is a powerful and popular language that provides tons of useful features. It is often used as a scripting language to perform critical process as well as running high traffic websites. One of the best features of python is its ability to easily work with other languages such as C/C++ as well as shell scripting. Sometimes you may need to run background process from your python script. Here python’s ability to interact with Linux shell is very useful. In this article, we will learn how to start background process in Python.

How to Start Background Process in Python

We will be using subprocess python module for this purpose. Open your python script e.g. in a text editor.

$ vi

Add the following code to set execution environment.


Next, import subprocess module.

import subprocess

This module features Popen() function that allows you to run shell commands from python. It can be used to run background processes.

Here is how to run a shell command to remove a file using rm command. Please ensure to provide full path to file to avoid errors. You may also need to use sudo command to overcome permission related errors.


You need to split the background command into a list of strings and input this list of strings in Popen() function.

You might also want to add ‘&’ character after the command in case you want to run it as background process in shell itself.


Save and close the file. Make it an executable with the following command.

$ sudo chmod +x

Run the python script with following command.

$ python

In this article, we have learnt how to run background process in Python. You can use it to run Linux commands, shell scripts and even other python scripts from a given python script.

Also read:

How to Prevent NGINX from Serving .git directory
How to Prevent Apache from Serving .git directory
How to Check if String is Substring of List Items
How to Check if Column is Empty or Null in MySQL
How to Modify MySQL Column to Allow Null

Leave a Reply

Your email address will not be published. Required fields are marked *