44 lines
1.1 KiB
Plaintext
44 lines
1.1 KiB
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
# (1) Primary init.
|
||
|
#--------------------------------------------------------#
|
||
|
# (1) Get absolute folder #
|
||
|
ROOT=$(dirname `realpath $0`);
|
||
|
ROOT=`dirname $ROOT`;
|
||
|
|
||
|
# (2) Check config file #
|
||
|
test ! -f $ROOT/com/config/sats && echo "Daemon not started" && exit 1;
|
||
|
|
||
|
# (3) Fetch BUFFERS #
|
||
|
source $ROOT/com/config/sats;
|
||
|
|
||
|
# (4) Check required arguments
|
||
|
test $# -lt 1 && echo -e "ERR: Missing argument\n\n\tSATS_ID\tThe id for the bash-socket\n" && exit 1;
|
||
|
|
||
|
|
||
|
# (2) Start server in background
|
||
|
#--------------------------------------------------------#
|
||
|
# (1) Start server #
|
||
|
$ROOT/com/launch sats $1 44441 44440 9999&
|
||
|
|
||
|
# (2) Save PID for later #
|
||
|
SERV_PID=$!;
|
||
|
|
||
|
|
||
|
# (3) Start daemons
|
||
|
#--------------------------------------------------------#
|
||
|
# (1) GPIO daemon #
|
||
|
$ROOT/sats/gpio&;
|
||
|
GPIO_PID=$!;
|
||
|
|
||
|
# (2) SYSTEMD daemon #
|
||
|
$ROOT/sats/sysd&;
|
||
|
SYSD_PID=$!;
|
||
|
|
||
|
|
||
|
|
||
|
# (4) Attach processes to itself
|
||
|
#--------------------------------------------------------#
|
||
|
trap "kill -9 $SERV_PID 2>/dev/null; kill -9 $GPIO_PID 2>/dev/null; kill -9 $SYSD_PID 2>/dev/null; exit 1;" INT;
|
||
|
trap "kill -9 $SERV_PID 2>/dev/null; kill -9 $GPIO_PID 2>/dev/null; kill -9 $SYSD_PID 2>/dev/null; exit 1;" KILL;
|