Скрипт Ubuntu init.d не вызывается при запуске

1895
Mike

У меня есть скрипт в Ubuntu 9.04 в init.d, который я установил для запуска при запуске с update-rc.d, используя update-rc.d init_test по умолчанию 99. Все символические ссылки есть, и разрешения отображаются быть правильным

-rwxr-xr-x 1 root root 642 2010-10-28 16:44 init_test  mike@xxxxxxxxxx:~$ find /etc -name S99* | grep init_test find: /etc/rc5.d/S99init_test find: /etc/rc4.d/S99init_test find: /etc/rc2.d/S99init_test find: /etc/rc3.d/S99init_test 

Скрипт проходит через исходники и ./ без проблем и ведет себя корректно. Вот источник скрипта:

#!/bin/bash ### BEGIN INIT INFO # Provides: init test script # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO  start() { echo "hi" echo "start called" >> /tmp/test.log return }  stop() { echo "Stopping" }  echo "Script called" >> /tmp/test.log  case "$1" in start) start ;; stop) stop ;; *) echo "Usage: " exit 1 ;; esac exit $? 

Когда машина запускается, я не вижу в скрипте test.log «вызванный скрипт» или «стартовый звонок». Есть что-то очевидное, что я испортил?

1
`exit` сам по себе дает вам $ $ бесплатно. Dennis Williamson 13 лет назад 0

1 ответ на вопрос

0
Mike

Я понял, что происходит не так. Был совершенно не связанный скрипт, который блокировался при запуске, потому что он запрашивал нажатие клавиши от пользователя, который, кажется, останавливает все другие скрипты запуска. Есть ли способ устранения таких проблем, как регистрация, какие сценарии init.d запускаются?

Если вы поместите `set -x` в скрипт оболочки, он напечатает трассировку каждой последующей команды при своей стандартной ошибке. Gilles 13 лет назад 2