arv-v-dsm/agent/service.sh

62 lines
1.0 KiB
Bash
Raw Normal View History

2023-03-31 12:55:38 +07:00
#!/bin/bash
PIDFILE="/var/run/agent.pid"
2023-04-18 00:56:31 +07:00
SCRIPT="/usr/local/bin/agent.sh"
2023-03-31 12:55:38 +07:00
status() {
2023-03-31 12:59:58 +07:00
if [ -f "$PIDFILE" ]; then
2023-04-18 03:41:53 +07:00
echo 'Service running'
2023-04-18 04:01:32 +07:00
return 1
2023-03-31 12:55:38 +07:00
fi
2023-04-18 09:33:02 +07:00
return 0
2023-03-31 12:55:38 +07:00
}
start() {
2023-03-31 13:12:00 +07:00
if [ -f "$PIDFILE" ] && kill -0 "$(cat "$PIDFILE")"; then
2023-04-18 03:41:53 +07:00
echo 'Service already running'
2023-04-18 04:01:32 +07:00
return 1
2023-03-31 12:55:38 +07:00
fi
2023-04-18 09:42:09 +07:00
touch /var/lock/subsys/agent.sh
2023-04-18 03:41:53 +07:00
echo 'Starting agent service...'
2023-04-17 20:19:26 +07:00
chmod 666 /dev/ttyS0
2023-04-17 20:20:18 +07:00
"$SCRIPT" &> /dev/ttyS0 & echo $! > "$PIDFILE"
2023-04-18 09:33:02 +07:00
return 0
2023-03-31 12:55:38 +07:00
}
stop() {
2023-03-31 13:12:00 +07:00
if [ ! -f "$PIDFILE" ] || ! kill -0 "$(cat "$PIDFILE")"; then
2023-04-18 03:41:53 +07:00
echo 'Service not running'
2023-04-18 04:01:32 +07:00
return 1
2023-03-31 12:55:38 +07:00
fi
2023-04-18 09:42:09 +07:00
rm -f /var/lock/subsys/agent.sh
2023-04-18 03:41:53 +07:00
echo 'Stopping agent service...'
chmod 666 /dev/ttyS0
echo 'Stopping agent service...' > /dev/ttyS0
2023-03-31 13:12:00 +07:00
kill -15 "$(cat "$PIDFILE")" && rm -f "$PIDFILE"
2023-04-18 03:41:53 +07:00
echo 'Service stopped'
2023-04-18 09:33:02 +07:00
return 0
2023-03-31 12:55:38 +07:00
}
2023-04-18 09:33:02 +07:00
ret=0
2023-03-31 12:55:38 +07:00
case "$1" in
start)
2023-04-18 09:33:02 +07:00
ret=start
2023-03-31 12:55:38 +07:00
;;
stop)
2023-04-18 09:33:02 +07:00
ret=stop
2023-03-31 12:55:38 +07:00
;;
status)
2023-04-18 09:33:02 +07:00
ret=status
2023-03-31 12:55:38 +07:00
;;
restart)
stop
2023-04-18 09:33:02 +07:00
ret=start
2023-03-31 12:55:38 +07:00
;;
*)
echo "Usage: $0 {start|stop|restart}"
2023-04-18 09:33:02 +07:00
ret=1
2023-03-31 12:55:38 +07:00
esac
2023-04-18 09:33:02 +07:00
2023-04-18 09:57:03 +07:00
exit $ret