summaryrefslogtreecommitdiff
path: root/scripts/vyatta-monitor-cleanup
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/vyatta-monitor-cleanup')
-rw-r--r--scripts/vyatta-monitor-cleanup36
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
-