#!/bin/bash

## Copyright (C) 2012 - 2023 ENCRYPTED SUPPORT LP <adrelanos@whonix.org>
## See the file COPYING for copying conditions.

exit_function() {
   echo ""
   echo "output of 'sudo /bin/systemctl --no-pager --no-block status tor@default':"
   echo ""
   /bin/systemctl --no-pager --no-block status tor@default
   exit "$exit_code"
}

if [ ! -f "/run/tor/tor.pid" ]; then
   echo "Pid file '/run/tor/tor.pid' does not exist."
   exit_code=1
   exit_function
fi

## override with || true to avoid race condition.
pid="$(cat "/run/tor/tor.pid")" || true

if [ "$pid" = "" ]; then
   echo "Pid file /run/tor/tor.pid is empty."
   exit_code=2
   exit_function
fi

ps_p_exit_code="0"
ps -p "$pid" >/dev/null 2>/dev/null || { ps_p_exit_code="$?" ; true; };

if [ ! "$ps_p_exit_code" = "0" ]; then
   echo "Pid '$pid' is not running."
   exit_code=3
   exit_function
fi

echo "Pid '$pid' running."

