Как обработать reboot из sh-скрипта ?
Wad1970
Пункты: 3734
Регистрация: 24.11.2014
Добрый день.
Есть такой командный файл
#!/bin/sh
while true;
do /home/CP/CP;
done
Он стоит в автозапуске - Init.D.
При попытке сделать reboot хоть из программы CP хоть снаружи он не даёт его сделать. Вместо этого запускается вторая копия CP.
Смотрел в сторону trap signal, но такого сигнала (reboot) не нашёл.
Надо сделать бесконечный перезапуск программы CP, но с возможностью reboot-a.
sasamy
Пункты: 79218
Регистрация: 14.08.2009
Цитата
снаружи он не даёт его сделать
При запуске командного файла поставьте амперсанд (&) в конце - у вас скорей всего даже логин не появляется т.к. там бесконечный цикл, с амперсандом он в фоновом режиме запустится
https://www.opennet.ru/docs/RUS/linux_base/node26.html
и возможно еще nohup нужен
https://unixforum.org/index.php?showtopic=71680
Цитата
Смотрел в сторону trap signal, но такого сигнала (reboot) не нашёл.
Надо сделать бесконечный перезапуск программы CP, но с возможностью reboot-a.
Цитата
# cat /etc/init.d/S90test
#!/bin/sh
case "$1" in
start)
echo "$0 UP"
;;
stop)
echo "$0 DOWN"
;;
restart|reload)
"$0" stop
"$0" start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?
Цитата
flexcan 2090000.flexcan can0: writing ctrl=0x0e312085
OK
GStarting dropbear sshd: OK
/etc/init.d/S90test UP
Welcome to Buildroot
buildroot login: fec 2188000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Welcome to Buildroot
buildroot login: rci_hdrc ci_hdrc.0: Device No Response
oot
Password:
# reboot
# /etc/init.d/S90test DOWN
Stopping dropbear sshd: OK
Stopping network: OK
Stopping system message bus: done
Saving random seed... done.
Stopping logging: OK
umount: devtmpfs busy - remounted read-only
EXT4-fs (mmcblk1p1): re-mounted. Opts: (null)
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes
reboot: Restarting system
Wad1970
Пункты: 3734
Регистрация: 24.11.2014