написал простейший скрипт, который читает построчно из UART-а и скидывает данные в файл.
если запустить вручную, всё отлично.
при добавлении команды
- Код: Выделить всё • Развернуть
#mirror uart buffer to tmp file
/www/cgi-bin/uart_buffer.sh &
в файл /etc/rc.local не получаю чего хочу - при перегрузке роутера "ps" показывает вот что среди других процессов:
- Код: Выделить всё • Развернуть
1413 root 1496 S sh /etc/rc.local
т.е. скрипт таки где-то завис.
Предполагаю, на тот момент устройство ttyATH0 либо файловая система /tmp не готовы...
Вопрос: в какое место автозагрузки лучше засунуть такой скрипт, дабы не зависало?
на всякий случай код скрипта привожу:
- Код: Выделить всё • Развернуть
#!/bin/sh
filename="/tmp/UART_buffer.log"
str1=""
str2=""
str3=""
cat /dev/ttyATH0 | while read robot_msg
do
str1=$str2
str2=$str3
str3=$robot_msg
#echo str3 str2 str1 > $filename
echo $str3 > $filename
echo $str2 >> $filename
echo $str1 >> $filename
done