У меня есть скрипт, который нужно запустить во время загрузки, я настроил его с помощью update-rc.d, и теперь, когда я перезагружаю систему с помощью sudo reboot
системы зависает во время процесса загрузки. Но если я перезагружаю систему вручную, система не зависает при перезагрузке. У кого-нибудь есть предложения относительно того, почему это может происходить?
Вот мой процесс настройки скрипта для запуска во время загрузки:
- создал скрипт инициализации LSB с именем
collection.sh
расположенный в/etc/init.d
- выполнил
$ sudo update-rc.d collection.sh defaults 99
для создания необходимых символических ссылок.
И это то, что он делает:
collection.sh
просто вызывает другой скрипт, расположенный в моем домашнем каталоге, с именем start.sh
. Затем start.sh
порождает два новых процесса с указанным рабочим каталогом. Это выглядит примерно так:
#!bin/bash
(cd path/to/working/dir; ./start_script1.sh && ./start_script2.sh)
start_script1.sh
должен работать около 24 часов, в то время как start_script2.sh
работает в бесконечном цикле.
Проблема, с которой я столкнулся, заключается в том, что эту систему, возможно, потребуется перезагрузить, но в настоящее время система зависает во время перезагрузки, если эти процессы запущены.
здесь был вывод команды update-rc:
Adding system startup for /etc/init.d/collection.sh ...
/etc/rc0.d/K99collection.sh -> ../init.d/collection.sh
/etc/rc1.d/K99collection.sh -> ../init.d/collection.sh
/etc/rc6.d/K99collection.sh -> ../init.d/collection.sh
/etc/rc2.d/S99collection.sh -> ../init.d/collection.sh
/etc/rc3.d/S99collection.sh -> ../init.d/collection.sh
/etc/rc4.d/S99collection.sh -> ../init.d/collection.sh
/etc/rc5.d/S99collection.sh -> ../init.d/collection.sh
Итак, есть мысли о том, в чем моя проблема? Также, если я пропущу что-нибудь полезное, дайте мне знать.