Skip to content

Part 3. Launch a Monitored Process

jrbail01 edited this page Dec 12, 2016 · 4 revisions

We can use a simple bash script to do three things:

  1. Launch our important task/program/process.
  2. Find the pid of the task/program/process we just launched.
  3. Pass the pid into our monitor_process script from step 2.

The bash script that we will modify and use is located at https://github.com/initialstate/pi-process-dashboard/blob/master/launch_process.sh.

#!/bin/bash
# --------- User Settings ---------
PROCESS2RUN="sudo python /home/pi/grovepi/weather.py"
MONITOR_SCRIPT="/home/pi/grovepi/monitor_process.py"
# ---------------------------------
nohup $PROCESS2RUN &
VAR=`pgrep -f "$PROCESS2RUN"`
echo $VAR
nohup python $MONITOR_SCRIPT $VAR &

To use this script, simply modify the two user settings at the top of the file.

  • PROCESS2RUN is the process you want to run and monitor. Specify the full path (we will use this in part 5).
  • MONITOR_SCRIPT is the script from step 2. Again, specify the full path.

Before you run this script, you will need to make it an executable file. Run the following:

$ chmod u+x launch_process.sh

To run the script:

$ ./launch_process.sh

We could stop here and have a pretty good solution for monitoring our processes. However, we need to consider what happens when we have a power outage.

<< Part 2: Monitor a Process - Part 4: Monitor a Reboot >>