How to Run a Python Script Continuously in Linux. Using a script in Python on a Linux operating system can be pertinent where there is a need to monitor a system, automate, or process data constantly. This can be done in many ways starting with basic command solutions and more extended solutions with the help of details system services. This guide will show you various techniques that can be adopted to make your Python script run smoothly and at the same time be reliable on a Linux machine.
1. Using a Simple Loop in the Terminal
1.1 Overview
Several ways can be used to make a Python script run continuously and the method described here is the simplest and involves the use of the terminal. This method is quite easy, yet not very effective for long-term jobs or situations where the script needs to be run in the background.
1. 2 Step-by-Step Instructions
Open the Terminal:
To open the Linux terminal, you press Ctrl + Alt + T.
Navigate to the Script Directory:
To do this, open the terminal and type the command cd followed by the directory path where your Python script is located.
Run the Script in an Infinite Loop:
Use a while loop to run the script continuously.
Terminate the Loop:
To stop the script, press ctrl+c.
1.3 Pros and Cons
Pros: Easy to install and takes little time to do so.
Cons: Cannot be ended by clicking the stop button; rather, it needs an open terminal window to be completed and shut down by hand.
2. The third way is to use the command ‘nohup’ to run the script in the background.
2.1 Overview
The other useful command is nohup (no hang-up), which lets to continue the execution of the script after exiting the terminal.
2. 2 Step-by-Step Instructions
Open the Terminal: Open a terminal window.
Navigate to the Script Directory: To change the directory go to the script directory and use: cd.
Run the Script with nohup: Use the nohup command to run the script in the background.
The and symbol runs the script in the background, and nohup ensures it keeps running even if the terminal is closed.
Check the Output:
The output will be saved in a file named nohup.out in the current directory. To view it, use:
Stop the Script:
To stop the script, find its process ID (PID) using ps or pgrep, and terminate it with the kill command:
2. 3 Pros and Cons
Pros: Stays active in the system even after logging out from the application or Windows.
Cons: Script failure kills the bot without a restart: no restarts are available for failed scripts.
3. 1 Overview
cron is a time-based job scheduler in Unix-like operating systems that enables one to run scripts or certain commands at given times. It is important to know that cron is normally utilized for time-based scheduling of the job; however, you can use it to schedule the job to run always at equal intervals of time.
3. 2 Step-by-Step Instructions
Open the Terminal: Open a terminal window.
Edit the crontab File: While in the terminal, type crontab -e to edit the cron jobs.
Add a New cron Job: Add a line to the crontab file to run your script every minute.
Save and close the crontab file.
Verify the cron Job: Check if the job is running correctly by viewing the cron log.
Stop the cron Job: To remove the job, open crontab -e and delete the corresponding line.
3. 3 Pros and Cons
Pros: Starts the script after every fix amount of time.
Cons: In not fit for scripts are Scenarios, that take a long time and continue running without an interruption.
4. Running a service with systemd: a tutorial for the every man
4. 1 Overview
system is a system and service manager for Linux that enables one to create a service that will run a Python script at all times. This method is regarded as highly reliable with maximum control as compared to the other methods.
4. 2 Step-by-Step Instructions
Create a Service File: Type open terminal and create a new service file for the script.
Add Service Configuration:Add the following content to the service file.
Save and Close the Service File: Save the changes and close the file.
Reload systemd and Start the Service: Reload the systemd manager configuration and start the new service.
Enable the Service on Boot: Ensure the service starts automatically at boot.
Check Service Status: Check if the service is running correctly.
Stop or Restart the Service: To stop or restart the service, use.
4.3 Pros and Cons
Pros: Very dependable, self-sustaining, automatic default restarts, compatible with the Linux OS.
Cons: Needs to have administrator permission to access the system and basic knowledge of configuring.
5. Conclusion
There are various ways to execute a Python script over and over in Linux and some are as follows: If script usage is only required as a recurring short term or on an occasional basis merely cycling the scripts or using nohup may be adequate. However, when working on long-term tasks or production environment, using cron JOBS or the creation of systems provides better reliability and control. This will depend on the ease of setting up the method you’ll select, as well as the reliability, in terms of what your script requires.