aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2019-11-20 17:12:32 +0100
committerPau Espin Pedrol <pespin@sysmocom.de>2019-11-20 17:14:54 +0100
commit0193073507459f51fcef1b66dc0a8cfb619fffe3 (patch)
treebf66f66a74a90765af95155dbb38309021dc10a1
parenta9877bf4871533e55633ab2de03e308c46eba60a (diff)
respawn.sh: Add logging and limit loop iterations
Since we'll now log the script and its children output to a file, let's make sure the loop doesn't run countless times upon failing child process, producing lots of potential undesired output. For instance, if osmo-bts fails to read vty config and exits immediately. Change-Id: Icc8cac889d94d4cce7d6365781d5b5364404b5b9
-rwxr-xr-xosmo-bts-latest/respawn.sh8
-rwxr-xr-xosmo-bts-master/respawn.sh8
-rwxr-xr-xosmo-pcu-latest/respawn.sh8
-rwxr-xr-xosmo-pcu-master/respawn.sh8
4 files changed, 28 insertions, 4 deletions
diff --git a/osmo-bts-latest/respawn.sh b/osmo-bts-latest/respawn.sh
index ae5cf60..2413916 100755
--- a/osmo-bts-latest/respawn.sh
+++ b/osmo-bts-latest/respawn.sh
@@ -2,8 +2,14 @@
trap "kill 0" EXIT
-while [ -e /etc/passwd ]; do
+i=0
+max_i=500
+while [ $i -lt $max_i ]; do
+ echo "$i: starting: $*"
$* &
LAST_PID=$!
wait $LAST_PID
+ echo "$i: stopped pid $LAST_PID with status $?"
+ i=$(expr $i + 1)
done
+echo "exiting after $max_i runs"
diff --git a/osmo-bts-master/respawn.sh b/osmo-bts-master/respawn.sh
index ae5cf60..2413916 100755
--- a/osmo-bts-master/respawn.sh
+++ b/osmo-bts-master/respawn.sh
@@ -2,8 +2,14 @@
trap "kill 0" EXIT
-while [ -e /etc/passwd ]; do
+i=0
+max_i=500
+while [ $i -lt $max_i ]; do
+ echo "$i: starting: $*"
$* &
LAST_PID=$!
wait $LAST_PID
+ echo "$i: stopped pid $LAST_PID with status $?"
+ i=$(expr $i + 1)
done
+echo "exiting after $max_i runs"
diff --git a/osmo-pcu-latest/respawn.sh b/osmo-pcu-latest/respawn.sh
index ae5cf60..2413916 100755
--- a/osmo-pcu-latest/respawn.sh
+++ b/osmo-pcu-latest/respawn.sh
@@ -2,8 +2,14 @@
trap "kill 0" EXIT
-while [ -e /etc/passwd ]; do
+i=0
+max_i=500
+while [ $i -lt $max_i ]; do
+ echo "$i: starting: $*"
$* &
LAST_PID=$!
wait $LAST_PID
+ echo "$i: stopped pid $LAST_PID with status $?"
+ i=$(expr $i + 1)
done
+echo "exiting after $max_i runs"
diff --git a/osmo-pcu-master/respawn.sh b/osmo-pcu-master/respawn.sh
index ae5cf60..2413916 100755
--- a/osmo-pcu-master/respawn.sh
+++ b/osmo-pcu-master/respawn.sh
@@ -2,8 +2,14 @@
trap "kill 0" EXIT
-while [ -e /etc/passwd ]; do
+i=0
+max_i=500
+while [ $i -lt $max_i ]; do
+ echo "$i: starting: $*"
$* &
LAST_PID=$!
wait $LAST_PID
+ echo "$i: stopped pid $LAST_PID with status $?"
+ i=$(expr $i + 1)
done
+echo "exiting after $max_i runs"