Browse Source

start-bfgminer.sh: Shell script to (re)start bfgminer in a background screen session

Luke Dashjr 11 years ago
parent
commit
7b971c60f2
2 changed files with 28 additions and 0 deletions
  1. 5 0
      Makefile.am
  2. 23 0
      start-bfgminer.sh

+ 5 - 0
Makefile.am

@@ -40,6 +40,11 @@ INCLUDES	= -fno-strict-aliasing
 
 bin_PROGRAMS	= bfgminer
 
+if HAVE_WINDOWS
+else
+bin_SCRIPTS = start-bfgminer.sh
+endif
+
 bfgminer_LDFLAGS	= $(PTHREAD_FLAGS)
 bfgminer_LDADD	= $(DLOPEN_FLAGS) @LIBCURL_LIBS@ @JANSSON_LIBS@ @PTHREAD_LIBS@ \
 		  @NCURSES_LIBS@ @PDCURSES_LIBS@ @WS2_LIBS@ \

+ 23 - 0
start-bfgminer.sh

@@ -0,0 +1,23 @@
+#!/bin/sh
+n="
+"
+startscreen() {
+	name="$1"; shift
+	cmd="$1"; shift
+	if ! screen -ls | grep -q "^[[:space:]]\+[0-9]\+\.$name"; then
+		screen -dmS "$name"
+	else
+		for i in 1 2 3; do
+			screen -x "$name" -p 0 -X stuff $(echo 'x' | tr 'x' '\003')
+		done
+		screen -x "$name" -p 0 -X stuff "stty sane$n"
+	fi
+	screen -x "$name" -p 0 -X stuff "$cmd$n"
+}
+PROG=bfgminer
+MYDIR="$(dirname "$0")"
+WHICHPROG="$(which "$PROG" 2>/dev/null)"
+if test -f "$MYDIR/$PROG" && test "$(realpath "$WHICHPROG" 2>/dev/null)" != "$(realpath "$MYDIR/$PROG")"; then
+	PROG="cd $(realpath -s "$MYDIR")$n./$PROG"
+fi
+startscreen miner "${PROG} ${BFGMINER_OPTS}"