Назад | Перейти на главную страницу

Запустите выскочку после запуска всех остальных сценариев инициализации

Я запускаю экземпляр CentOS6, и у меня есть задание выскочки, которое зависит от уже запущенного sshd. Однако, когда я загружаю компьютер, это задание не запускается, я предполагаю, потому что sshd еще не запущен. Есть ли способ отложить запуск заданий выскочки до запуска всех обычных сценариев инициализации?

В итоге я понял это. CentOS6 использует выскочку в качестве своей программы инициализации, но один из сценариев, в которых она инициализируется /etc/init является rc.conf, который запускает старые сценарии rc. Итак, если вам нужно, чтобы ваша программа запускалась ПОСЛЕ тех, которые вы можете поместить:

start on started rc stop on stopped rc

в вашем сценарии выскочки, и все должно быть хорошо.

Вы можете проверить процесс sshd с помощью pidfile /var/run/sshd.pid в вашем скрипте, чтобы убедиться, что он запущен.

  if [ -f /var/run/says.pid]; then
     "do what you want with your script"
  fi

Вы можете поместить логику внутрь, где вы можете спать после проверки sshd, если pid еще нет.

Просто добавьте свой сценарий в /etc/rc.d/rc.local. Ваш сценарий будет выполнен после всех остальных сценариев инициализации.