У меня есть скрипт, который нужно запустить во время загрузки, я настроил его с помощью update-rc.d, и теперь, когда я перезагружаю систему с помощью sudo reboot системы зависает во время процесса загрузки. Но если я перезагружаю систему вручную, система не зависает при перезагрузке. У кого-нибудь есть предложения относительно того, почему это может происходить?

Вот мой процесс настройки скрипта для запуска во время загрузки:

  1. создал скрипт инициализации LSB с именем collection.sh расположенный в /etc/init.d
  2. выполнил $ 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

Итак, есть мысли о том, в чем моя проблема? Также, если я пропущу что-нибудь полезное, дайте мне знать.

0