#!/bin/bash RESTART_USER_ID=`id -u` PRG_CMD="/usr/bin/usbwatch" ALL_PRG_PIDS=`ps -C usbwatch|grep usbwatch|gawk '{print $1}'` for EACH_PID in $ALL_PRG_PIDS; do ENVIRON_VALUES=`cat /proc/$EACH_PID/environ | tr "\000" "\n"` export $ENVIRON_VALUES APP_USER_ID=`id -u $USER` cd $PWD for EACH_VALUE in $ENVIRON_VALUES; do TEST_PRG_NAME=`echo $EACH_VALUE | grep ^\_= | cut -d= -f2-` if [ ! "$TEST_PRG_NAME" = "" ]; then PRG_CMD=$TEST_PRG_NAME fi done kill -9 $EACH_PID # If this script is run by hotplug if [ $RESTART_USER_ID -eq $APP_USER_ID ]; then #[[ "$ACTION" = "add" ]] && cp /etc/X11/usbwatch/usbmedia.lnk.hide /etc/X11/usbwatch/usbmedia.lnk #[[ "$ACTION" = "remove" ]] && rm -f /etc/X11/usbwatch/usbmedia.lnk #cp /etc/X11/usbwatch/usbmedia.lnk.hide /etc/X11/usbwatch/usbmedia.lnk $PRG_CMD & else if [ $RESTART_USER_ID -eq 0 ]; then #[[ "$ACTION" = "add" ]] && cp /etc/X11/usbwatch/usbmedia.lnk.hide /etc/X11/usbwatch/.usbwatch/usbmedia.lnk #[[ "$ACTION" = "remove" ]] && rm -f /etc/X11/usbwatch/usbmedia.lnk #cp /etc/X11/usbwatch/usbmedia.lnk.hide /etc/X11/usbwatch/usbmedia.lnk su $USER -c $PRG_CMD & fi fi done exit 0