reworked and fixed
authorRalph Ronnquist <ralph.ronnquist@gmail.com>
Mon, 21 Mar 2022 03:30:15 +0000 (14:30 +1100)
committerRalph Ronnquist <ralph.ronnquist@gmail.com>
Mon, 21 Mar 2022 03:30:15 +0000 (14:30 +1100)
overlay-go

index dd557d85e1f2dc3c784d1deed92b7a554d436c29..d22ef35a0310718ca2ad11889b7b781c66d40acd 100755 (executable)
@@ -1,8 +1,22 @@
 #!/bin/sh
-set -x
-X="$(pgrep -f ".reaper $1")"
-grep -q "^proc " /proc/$X/mounts || \
-    sudo nsenter -t "$X" -m -p -r -w mount -t proc proc /proc
-ROOT="$(sudo nsenter -t "$X" -m -p -r -w mount | \
-            awk -v S="$1" '$1==S{print $3;exit;}')"
-sudo nsenter -t "$X" -n -m -p -r -w -u -C /bin/bash
+
+[ $(id -u) = 0 ] || exec sudo $0 $@
+. $(dirname $(realpath $0))/functions XXX
+
+NAME="$1"
+
+read USPID RSPID <<EOF
+$(is_live $NAME)
+EOF
+
+[ -z "$USPID" ] && echo "$NAME is not running" >&2 && exit 1
+
+if [ -z "$RSPID" ] ; then
+    cat <<EOF >&2
+***  $NAME is started (pid $USPID) but doesn't seem to be running
+*** /.reaper and might need manual fixing.
+EOF
+    exit 1
+fi
+
+sudo nsenter -t "$RSPID" -n -m -p -r -w -u -C /bin/bash