summarylogtreecommitdiffstats
path: root/sysvinit.sh
blob: fc57722b40c798e5d096ec0b66d0339f0c2b0b15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
CONFIG_FILE=/etc/remoteit/config.json
PIDDIR=/var/run

r3_start_service() {
  echo "Start Service $1 $2"
  if [ -z $2 ]; then
    /etc/init.d/$1 start
  else
    /etc/init.d/$1 start $2
  fi
}

r3_stop_service() {
  echo "Stop Services $1 $2"
  if [ -z $2 ]; then
    /etc/init.d/$1 stop
    [ -r "$PIDDIR/$1.pid" ] && rm $PIDDIR/$1.pid
  else
    /etc/init.d/$1 stop $2
    [ -r "$PIDDIR/$1-$2.pid" ] && rm $PIDDIR/$1-$2.pid
  fi
}

r3_start_services() {
  echo "Start Services $1"
  r3_start_service schannel
  ids=
  if [ -r $CONFIG_FILE ]; then
    for id in $(jq -r '.device,.services[] | .sha' "$CONFIG_FILE"); do
      ids="$ids $id"
    done
  fi

  for pidfile in $PIDDIR/remoteit-*.pid ; do
    chmod 0644 $pidfile 2>/dev/null
    id=$(echo $pidfile | sed -e 's/\/var\/run\/remoteit-//g;s/.pid//g')
    if [ "$id" != "*" ]; then
      ids="$ids $id"
    fi
  done

  unique_ids=$(echo $ids |tr ' ' '\n' |sort -u)
  for id in $unique_ids ; do
    r3_start_service remoteit $(echo $id)
  done
  return 0
}

r3_stop_services() {
  if ls /var/run/remoteit-*.pid > /dev/null 2>&1; then
    for pidfile in $PIDDIR/remoteit-*.pid ; do
      chmod 0644 $pidfile 2>/dev/null
      id=$(echo $pidfile | sed -e 's/\/var\/run\/remoteit-//g;s/.pid//g')
      r3_stop_service remoteit $id
    done
  fi
  r3_stop_service schannel
  return 0
}