summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xstreams/streams51
1 files changed, 37 insertions, 14 deletions
diff --git a/streams/streams b/streams/streams
index a8408b4a..034d68a1 100755
--- a/streams/streams
+++ b/streams/streams
@@ -1,12 +1,16 @@
#! /bin/bash
HERE=$(dirname $(readlink -f $0))
URLS=`cat $HERE/stream.db`
+CURRENT_STREAM="no stream" #will be set when calling `status`
+if [ ! `id -u` -eq "0" ]; then
+ exec sudo "$0" "$@"
+fi
function start() {
# start the given stream von $1
REQ=$1
tmux start-server
- if status; then
+ if status &>/dev/null ; then
echo "!! Stream already running!"
exit 1
fi
@@ -25,15 +29,39 @@ function start() {
function stop()
{
#stops every stream
- tmux kill-session -t streams || echo "!! killing session failed"
+ if status &>/dev/null; then
+ status | cut -d\ -f2 | xargs printf "** killing %s\n"
+ tmux kill-session -t streams 2>/dev/null || echo "!! killing session failed"
+ else
+ echo "** no stream running";
+ return 1
+ fi
}
function status()
{
- tmux has-session -t streams 2>/dev/null
- RET=$?
- tmux list-sessions 2>/dev/null
- return $RET
+ #tmux has-session -t streams 2>/dev/null
+ #RET=$?
+
+ #tmux list-sessions 2>/dev/null
+ #return $RET
+ EV="`ps -ef | grep tmux`"
+ if echo "$URLS" | while read URL NAME; do
+ if [ "`echo "$EV" | grep \"$URL\"`" ] ;then
+ echo "** $NAME running ($URL)"
+ exit 1
+ fi
+ done; then
+ echo "** no stream running"
+ return 1
+ else
+ return 0
+ fi
+}
+function current()
+{
+
+ return 1
}
function list()
{
@@ -53,18 +81,13 @@ case "$1" in
stop)
stop
;;
- restart)
+ (switch|restart)
stop
start $2
;;
status)
- if status; then
- echo "** stream running"
- exit 0
- else
- echo "** Stream not running"
- exit 1
- fi
+ status
+ exit $?
;;
list)
list