diff options
Diffstat (limited to 'scripts/vyatta-monitor-cleanup')
-rw-r--r-- | scripts/vyatta-monitor-cleanup | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/scripts/vyatta-monitor-cleanup b/scripts/vyatta-monitor-cleanup deleted file mode 100644 index 553c1f8..0000000 --- a/scripts/vyatta-monitor-cleanup +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -declare CURRENT_PTS=$(tty | sed -e s-/--g -e s/dev//g) -declare CURRENT_UID=$(id -u) -declare CURRENT_UNAME=$(id -un) -declare -a MPIDS -MODE=$1 -MPIDS=( $(ls /var/run/vyatta/monitor/*.pid 2> /dev/null ) ) - -for pidfile in "${MPIDS[@]}"; do - pid=$(<$pidfile) - procname=$(cat /proc/$pid/cmdline 2>/dev/null) - if [[ "$procname" =~ "tail" ]] ; then - # Clean up tail processes that didn't die on logout - pts=${pidfile##*-pts} - pts=${pts%%.pid} - # If the process isn't attaced to the current PTY - if [[ "pts$pts" != "$CURRENT_PTS" ]]; then - # If I owned this process - if cat /proc/$pid/status | grep -q "Uid:.*$CURRENT_UID" ; then - # If I'm no longer on the pty that process started on - if ! who | grep -q "$CURRENT_UNAME.*pts/$pts" ; then - kill $pid - rm -rf $pidfile - fi - fi - elif [[ "$MODE" == "LOGOUT" ]]; then - # on logout kill all monitors - kill $pid - rm -rf $pidfile - fi - else - # Clean up killed tail processes - rm -rf $pidfile - fi -done - |