From 66d7be0b1525895bc2587d037478917b6006f9fd Mon Sep 17 00:00:00 2001 From: Mayank Chhabra Date: Sat, 1 Aug 2020 09:17:03 +0530 Subject: [PATCH] Don't run karen if already running (#77) --- karen | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/karen b/karen index cb8c79c..53c6d08 100755 --- a/karen +++ b/karen @@ -3,6 +3,22 @@ # karen watches for signals and executes triggers in the events dir # karen gets triggered a lot +check_root () { + if [[ $UID != 0 ]]; then + echo "Error: This script must be run as root." + echo "Can I speak to a manager please?" + exit 1 + fi +} + +check_if_not_already_running() { + if ps ax | grep $0 | grep -v $$ | grep bash | grep -v grep + then + echo "karen is already running" + exit 1 + fi +} + check_dependencies () { for cmd in "$@"; do if ! command -v $cmd >/dev/null 2>&1; then @@ -12,17 +28,11 @@ check_dependencies () { done } -check_root () { - if [[ $UID != 0 ]]; then - echo "Error: This script must be run as root." - echo "Can I speak to a manager please?" - exit 1 - fi -} +check_root -check_dependencies fswatch readlink dirname +check_if_not_already_running -check_root +check_dependencies fswatch readlink dirname if [[ -n "$1" ]]; then root_dir="$(readlink -f $1)"