Я цитирую здесь изменения в комментариях и совместное редактирование для kill процесс. Для начала вам нужно удалить и из определения имени запускаемой службы.
Чтобы идентифицировать процесс, который нужно остановить, поскольку при запуске добавлен интерпретатор, удобно использовать PID. Таким образом, ваш сценарий может быть изменен следующим образом:
#!/bin/bash
# shell script to ...
set -e
#set the full path to the programs we need to use
NTOP=/opt/bash_scripts/start-up-superscript
PIDFILE=/var/run/start-up-superscript.pid
case "$1" in
start)
echo "Starting SDD Install..."
start-stop-daemon --start --quiet --oknodo --exec $NTOP --pidfile $PIDFILE -m
;;
stop)
#kill ntop
echo "Stopping SSD..."
start-stop-daemon --stop --quiet --pidfile $PIDFILE
;;
restart)
$0 stop
$0 start
;;
status)
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
;;
esac
Таким образом, запуск и остановка всего процесса должны работать так, как вы хотите.
Наконец-то выяснилось, что я отдавал неправильную команду на стороне получателя.
Команда приема должна быть:cat < /dev/ttyUSB0 > file_b64
Для приема с пульта:
Host side | Remote side
|
| #Encode to base64
| cat file | base64 > file_b64
|
| #Send after timeout
| (sleep 10; cat file_b64 > /dev/ttyS0) &
|
#############################################################
### Exit minicom but keep configuration (ctrlA-Z, then Q) ###
#############################################################
|
#Receive file |
cat < /dev/ttyUSB0 > file_b64 |
|
#Decode file |
cat file_b64 | base64 -di > file |