при выполнении сервиса после того, как был запущен другой сервис

Для смещенного сравнения посмотрите, Почему Мерзавец Лучше, чем X

1
задан 15 July 2009 в 00:53
2 ответа

К чему я был бы быть иметь ndb должностное лицо сценария другой сценарий, так, чтобы он не ожидал в течение этих 5 минут для окончания и заблокировал другие сервисы от запуска.

## whatever starts ndb
exec heartbeat_startup_script

Я поместил сон 300 (секунды) в здесь, вызовите, Вы указали 5 минут, но проверяющий, сделана ли синхронизация ndb, было бы намного лучше.

##heartbeat_startup_script
sleep 300
heartbeat
0
ответ дан 3 December 2019 в 22:53

Вы могли также попытаться использовать встроенную команду удара "ожидания".

От "удара человека"

ожидайте [n]

Ожидайте указанного процесса и возвратите его состояние завершения. n может быть идентификатором процесса или спецификацией задания; если спецификация задания дана, для всех процессов в конвейере того задания ожидают. Если n не дан, для всех в настоящее время активных дочерних процессов ожидают, и статус возврата является нулем. Если n указывает несуществующий процесс или задание, статус возврата равняется 127. Иначе статус возврата является статусом выхода последнего процесса, или задание ожидало.

Вы пишете сценарий, мог выглядеть примерно так:

# send to background
./ndb_startup_script & 

# wait on pid of ndb_startup_script
wait $!

if [ $? -eq 0 ] # assuming 0 is ret code for successful run
then 
    ./heartbeat_startup_script
else 
    # extra stuff to handle error
fi
2
ответ дан 3 December 2019 в 22:53

Теги

Похожие вопросы