#!/bin/sh # herriectl # This script sends varying signals to all running instances of herrie # with the same effective uid as the process running this script # The signal sent is based upon the input argument # Written by Phillip Warner VERSION=0.1 # Signales that correspond to functions SPLAY="SIGRTMIN+1" SSTOP="SIGRTMIN+2" SPAUSE="SIGUSR1" SNEXT="SIGUSR2" SPREV="SIGRTMIN+3" usage() { echo "$(basename $0) $VERSION - by Phillip Warner" echo "Usage:" echo " $0 [OPTION]" echo "Only one parameter can be used at a time." echo "The script's parameters are:" echo " -h, --help Help" echo " -b, --next Play Next" echo " -c, --pause Pause" echo " -v, --stop Stop" echo " -x, --play Play Selected" echo " -z, --previous Play Previous" echo echo "Current herrie PIDs (euid=$(id -u)):" pgrep -u $(id -u) herrie$ } # Make sure there is no more than one arg if [ $2 ] then usage elif [ $1 ] then case $1 in -h|--help ) usage ;; -b|--next ) pkill -$SNEXT -u $(id -u) herrie$ ;; -c|--pause ) pkill -$SPAUSE -u $(id -u) herrie$ ;; -v|--stop ) pkill -$SSTOP -u $(id -u) herrie$ ;; -x|--play ) pkill -$SPLAY -u $(id -u) herrie$ ;; -z|--previous ) pkill -$SPREV -u $(id -u) herrie$ ;; * ) usage ;; esac else usage fi exit