2020-02-23 20:19:26 +00:00
|
|
|
#! /bin/bash
|
|
|
|
|
# -*- sh -*-
|
|
|
|
|
|
|
|
|
|
declare -a QUERY=(${QUERY_STRING//&/ })
|
|
|
|
|
ACTION=${QUERY[0]}
|
|
|
|
|
TARGET=${QUERY[-1]}
|
|
|
|
|
[ "$TARGET" = "$ACTION" ] && TARGET=""
|
|
|
|
|
|
|
|
|
|
cat <<EOT
|
|
|
|
|
Content-type: text/html
|
|
|
|
|
|
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="UTF-8" />
|
|
|
|
|
<title>RPiRENA Data Acqusition</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
2021-09-17 08:36:11 +00:00
|
|
|
<h1>Live plots of $(hostname)</h1>
|
2020-02-23 20:19:26 +00:00
|
|
|
EOT
|
2021-09-17 08:36:11 +00:00
|
|
|
|
|
|
|
|
exec 2>&1
|
|
|
|
|
|
2020-02-23 20:19:26 +00:00
|
|
|
if [ -z "$ACTION" ]
|
|
|
|
|
then
|
|
|
|
|
RUNNING=""
|
2021-09-17 08:36:11 +00:00
|
|
|
for r in python rpirena-auto.py
|
2020-02-23 20:19:26 +00:00
|
|
|
do
|
|
|
|
|
if sudo -u stephan /usr/bin/killall -s 0 -r "$r" 2>/dev/null
|
|
|
|
|
then
|
|
|
|
|
RUNNING="$r"
|
|
|
|
|
echo "<h2>$r is running!</h2>"
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
[ -z "$RUNNING" ] && echo "<h2>rpirena is NOT running.</h2>"
|
|
|
|
|
cat <<EOT
|
|
|
|
|
<h2>Please choose an action:</h2>
|
|
|
|
|
<ul>
|
|
|
|
|
<li/><a href="rpirena-control?halt">Shutdown</a> the Raspberry Pi (sudo halt).
|
|
|
|
|
EOT
|
|
|
|
|
[ -z "$RUNNING" ] && cat <<EOF
|
2021-09-17 08:36:11 +00:00
|
|
|
<li/><a href="rpirena-control?start">Start</a> rpirena-auto.py (sudo /etc/rc.local start_rpirena).
|
2020-02-23 20:19:26 +00:00
|
|
|
EOF
|
|
|
|
|
[ "$RUNNING" = 'rpirena-auto.py' ] && cat <<EOF
|
|
|
|
|
<li/><a href="rpirena-control?stop">Stop</a> rpirena-auto.py (echo "stop" > ~stephan/rpirena/auto-run).
|
|
|
|
|
<li/><a href="rpirena-control?restart">Restart</a> a new data file (echo "restart" > ~stephan/rpirena/auto-run).
|
|
|
|
|
EOF
|
|
|
|
|
cat <<EOT
|
2021-09-17 08:36:11 +00:00
|
|
|
<li/><a href="rpirena">Return to the Plots.</a>
|
2020-02-23 20:19:26 +00:00
|
|
|
</ul>
|
|
|
|
|
<pre>
|
|
|
|
|
EOT
|
|
|
|
|
ps axfu | grep -v ' 0.0 *0 *0 .*]$'
|
|
|
|
|
cat <<EOT
|
|
|
|
|
</pre>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
EOT
|
|
|
|
|
exit 0
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
case "$ACTION" in
|
|
|
|
|
restart|stop)
|
|
|
|
|
if sudo -u stephan /usr/bin/killall -s 0 -r 'rpirena-auto.py'
|
|
|
|
|
then
|
|
|
|
|
CONFIRM="<a href=\"rpirena?${ACTION}\">Really ${ACTION} the acquisition</a>"
|
|
|
|
|
else
|
|
|
|
|
CONFIRM='rpirena-auto.py is not running.'
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
start)
|
|
|
|
|
if sudo -u stephan /usr/bin/killall -s 0 -r 'rpirena(-auto)?.py'
|
|
|
|
|
then
|
|
|
|
|
CONFIRM='rpirena(-auto)?.py is running'
|
|
|
|
|
else
|
|
|
|
|
if [ "$TARGET" = "force" ]
|
|
|
|
|
then
|
|
|
|
|
echo "<pre>"
|
2021-09-17 08:36:11 +00:00
|
|
|
sudo /etc/rc.local start_rpirena
|
2020-02-23 20:19:26 +00:00
|
|
|
sleep 1
|
|
|
|
|
echo "</pre>"
|
|
|
|
|
CONFIRM="sudo /etc/rc.local was executed"
|
|
|
|
|
else
|
|
|
|
|
CONFIRM='<a href="rpirena-control?start&force">Really start rpirena-auto.py?</a>'
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
halt)
|
|
|
|
|
if [ "$TARGET" = "force" ]
|
|
|
|
|
then
|
|
|
|
|
echo "</ul><h2>Shutdown in procgress, bye …</h2>sudo /sbin/halt</body></html>"
|
|
|
|
|
sleep 1
|
|
|
|
|
sudo /sbin/halt
|
|
|
|
|
exit 0
|
|
|
|
|
else
|
|
|
|
|
CONFIRM='<a href="rpirena-control?halt&force">Really shutdown the Raspberry Pi?</a>'
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
cat <<EOT
|
|
|
|
|
<h2>Please confirm:</h2>
|
|
|
|
|
<ul>
|
|
|
|
|
<li/> $CONFIRM
|
|
|
|
|
<li/> <a href="rpirena?old">No thanks, back to the Plots</a>.
|
|
|
|
|
</ul>
|
|
|
|
|
<pre>
|
|
|
|
|
EOT
|
|
|
|
|
ps axfu | grep -v ' 0.0 *0 *0 .*]$'
|
|
|
|
|
cat <<EOT
|
|
|
|
|
</pre>
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
EOT
|