In today’s enterprise environments, maintaining control over the applications that can run on Linux devices is essential for security and productivity. One effective way to achieve this is by blocking non-essential applications on devices. Scalefusion Unified Endpoint Management (UEM) offers a streamlined approach to enforce such controls. This guide provides detailed technical steps to block specific applications from executing on Linux devices using Scalefusion UEM.
Step 1: Prepare a Linux Shell Script to Block Applications
To prevent certain applications from running, you’ll create a shell script that monitors and terminates these applications if they attempt to execute.
-
Identify the Applications to Block:
-
Determine which applications you want to block. You can use commands like ps aux | grep <application_name> or pgrep <application_name> to find the process names of these applications.
-
-
Create the Shell Script:
-
Open a UTF-8 compatible text editor such as Notepad++ on windows or gedit on linux machine and create a new file, e.g., block_apps.sh.
-
Add the following lines to block specific applications:
-
<span data-contrast="auto"><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">#!/bin/bash</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Set the paths and other configurations</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="SpellingError SCXO22422789 BCX0">monitoring_script_path</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">=</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"/</span><span class="SpellingError SCXO22422789 BCX0">usr</span><span class="NormalTextRun SCXO22422789 BCX0">/local/bin/application_monitor.sh"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="SpellingError SCXO22422789 BCX0">service_file</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">=</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"/</span><span class="SpellingError SCXO22422789 BCX0">etc</span><span class="NormalTextRun SCXO22422789 BCX0">/</span><span class="SpellingError SCXO22422789 BCX0">systemd</span><span class="NormalTextRun SCXO22422789 BCX0">/system/</span><span class="SpellingError SCXO22422789 BCX0">application_monitor.service</span><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="SpellingError SCXO22422789 BCX0">log_file</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">=</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"/var/log/application_monitor.log"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Note Make sure to enter correct process name of Application</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Set the process names of the applications</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">process1_name</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">=</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"<strong><span style="color: #236fa1;">APPLICATION_ProcessNAME1</span></strong>"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">process2_name</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">=</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"<strong><span style="color: #236fa1;">APPLICATION_ProcessNAME2</span></strong>"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Fetch the paths to the executables</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">process1_path</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">=</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$(</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">which</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> <strong><span style="color: #236fa1;">APPLICATION_ProcessNAME1</span></strong>)</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">process2_path</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">=</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$(</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">which</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> <strong><span style="color: #236fa1;">APPLICATION_ProcessNAME2</span></strong>)</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Write the monitoring script content to the file</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">cat</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="auto"><span class="NormalTextRun SCXO22422789 BCX0"> </span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"><<</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">EOF</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> </span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">></span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> </span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$</span><span class="SpellingError SCXO22422789 BCX0">monitoring_script_path</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">#!/bin/bash</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Set the process names of the applications</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">process1_name="</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$process1_name</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">process2_name="</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$process2_name</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Fetch the paths to the executables</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">process1_path="</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$process1_path</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">process2_path="</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$process2_path</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Delay before starting monitoring loop (in seconds)</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="SpellingError SCXO22422789 BCX0">initial_delay</span><span class="NormalTextRun SCXO22422789 BCX0">=10</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Initial delay</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">sleep \</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$</span><span class="SpellingError SCXO22422789 BCX0">initial_delay</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Start monitoring loop</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">while true; do</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> # Check if process1 is running and terminate it if it is</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> if </span><span class="SpellingError SCXO22422789 BCX0">pgrep</span><span class="NormalTextRun SCXO22422789 BCX0"> "\</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$process1_name</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">" > /dev/null; then</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> echo "\</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$(</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">date</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> +</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"%Y-%m-%d %H:%M:%S"</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">)</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> - \</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$process1_name</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> is running. Terminating..." >> "</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$</span><span class="SpellingError SCXO22422789 BCX0">log_file</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> # Terminate process1</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> </span><span class="SpellingError SCXO22422789 BCX0">pkill</span><span class="NormalTextRun SCXO22422789 BCX0"> "\</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$process1_name</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> fi</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> # Check if process2 is running and terminate it if it is</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> if </span><span class="SpellingError SCXO22422789 BCX0">pgrep</span><span class="NormalTextRun SCXO22422789 BCX0"> "\</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$process2_name</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">" > /dev/null; then</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> echo "\</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$(</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">date</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> +</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"%Y-%m-%d %H:%M:%S"</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">)</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> - \</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$process2_name</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> is running. Terminating..." >> "</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$</span><span class="SpellingError SCXO22422789 BCX0">log_file</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> # Terminate process2</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> </span><span class="SpellingError SCXO22422789 BCX0">pkill</span><span class="NormalTextRun SCXO22422789 BCX0"> "\</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$process2_name</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> fi</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> # Block execution of process1 executable</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> </span><span class="SpellingError SCXO22422789 BCX0">chmod</span><span class="NormalTextRun SCXO22422789 BCX0"> -x "\</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$process1_path</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> # Block execution of process2 executable</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> </span><span class="SpellingError SCXO22422789 BCX0">chmod</span><span class="NormalTextRun SCXO22422789 BCX0"> -x "\</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$process2_path</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> # Sleep for 24 hours</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> sleep \</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$((</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">24</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> </span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">*</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> </span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">60</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> </span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">*</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> </span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">60</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">))</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> # Restore execution permission for process1 executable</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> </span><span class="SpellingError SCXO22422789 BCX0">chmod</span><span class="NormalTextRun SCXO22422789 BCX0"> +x "\</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$process1_path</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> # Restore execution permission for process2 executable</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> </span><span class="SpellingError SCXO22422789 BCX0">chmod</span><span class="NormalTextRun SCXO22422789 BCX0"> +x "\</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$process2_path</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">done</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">EOF</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Set execute permissions for the monitoring script</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="SpellingError SCXO22422789 BCX0">chmod</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="auto"><span class="NormalTextRun SCXO22422789 BCX0"> +x </span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$</span><span class="SpellingError SCXO22422789 BCX0">monitoring_script_path</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Write the service unit file</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">cat</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="auto"><span class="NormalTextRun SCXO22422789 BCX0"> </span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"><<</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">EOF</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> </span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">></span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"> </span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$</span><span class="SpellingError SCXO22422789 BCX0">service_file</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">[Unit]</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">Description=Application Monitor Service</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">After=</span><span class="SpellingError SCXO22422789 BCX0">network.target</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">[Service]</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">Type=simple</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="SpellingError SCXO22422789 BCX0">ExecStart</span><span class="NormalTextRun SCXO22422789 BCX0">="</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">$</span><span class="SpellingError SCXO22422789 BCX0">monitoring_script_path</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">"</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">Restart=always</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">[Install]</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="SpellingError SCXO22422789 BCX0">WantedBy</span><span class="NormalTextRun SCXO22422789 BCX0">=multi-</span><span class="SpellingError SCXO22422789 BCX0">user.target</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">EOF</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Reload </span><span class="SpellingError SCXO22422789 BCX0">systemd</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="auto"><span class="SpellingError SCXO22422789 BCX0">systemctl</span><span class="NormalTextRun SCXO22422789 BCX0"> daemon-reload</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Enable and start the service</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="auto"><span class="SpellingError SCXO22422789 BCX0">systemctl</span><span class="NormalTextRun SCXO22422789 BCX0"> </span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0">enable</span></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="auto"><span class="NormalTextRun SCXO22422789 BCX0"> </span><span class="SpellingError SCXO22422789 BCX0">application_monitor.service</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="auto"><span class="SpellingError SCXO22422789 BCX0">systemctl</span><span class="NormalTextRun SCXO22422789 BCX0"> start </span><span class="SpellingError SCXO22422789 BCX0">application_monitor.service</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="none"><span class="NormalTextRun SCXO22422789 BCX0"># Check the status of the service</span></span><span class="LineBreakBlob BlobObject DragDrop SCXO22422789 BCX0"><span class="SCXO22422789 BCX0"> </span><br class="SCXO22422789 BCX0" /></span><span class="TextRun Highlight SCXO22422789 BCX0" lang="EN-US" xml:lang="EN-US" data-contrast="auto"><span class="SpellingError SCXO22422789 BCX0">systemctl</span><span class="NormalTextRun SCXO22422789 BCX0"> status </span><span class="SpellingError SCXO22422789 BCX0">application_monitor.service</span></span><span class="EOP SCXO22422789 BCX0"> </span></span>
-
Replace APPLICATION_ProcessNAME1 and APPLICATION_ProcessNAME2 in the above script with the actual process names of the applications you want to block.
-
If creating script on windows device using Notepad++ then save the script in UNIX Format as shown in the image below:
Step 2: Deploy the Script Using Scalefusion UEM
With the script prepared, the next step is to deploy it across your Linux devices using Scalefusion UEM.
-
Upload the Script:
-
Log in to the Scalefusion dashboard.
-
Navigate to Application Management > Enterprise Store , click on Upload New App and select Upload Linux Script.
-
In the Upload Shell Scripts wizard:
-
Enter a Script Name for identification.
-
Upload the previousely created Shell Script file.
-
Choose the Execution Level:
- Device: Executes for all users on the device.
- User: Executes for the logged-in user.
-
Configure the Schedule:
-
Run Once On Publish: Executes the script once upon publishing.
-
Run At Every Login: Executes the script at each user login.
-
Run On Schedule: Executes the script on specified days and times.
-
-
2. Publish the Script:
-
After configuring, click Save.
-
In the subsequent dialog, select the Device Profiles to which you want to deploy the script.
-
Click Publish to deploy the script.
Once published, the script will execute on the targeted devices based on the configured schedule, effectively blocking the specified applications from running.
Conclusion
Blocking non-essential applications on Linux devices can significantly enhance productivity and security. By leveraging Scalefusion UEM to deploy custom shell scripts, organizations can easily manage and restrict access to unwanted apps across their fleet of devices. This approach not only helps in maintaining focus but also ensures that devices are used in compliance with organizational policies.