Я запускаю экземпляр 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. Ваш сценарий будет выполнен после всех остальных сценариев инициализации.