Как запустить скрипт nohup с помощью upstart?

Я портирую некоторые служебные скрипты в стиле SysV для HBase (java-сервис) в upstart.

Скрипты sysv не вызывают java напрямую, но вместо звонка hbase-daemon.sh, Это start-stop-daemon подобный инструмент, который поставляется с пакетом, который тянет много конфигурации и в конечном итоге заканчивается nohup java ... & на самом деле запустить процесс в качестве демона.

Поскольку логика конфигурации в hbase-daemon.sh Я бы предпочел не изменять или переписывать его (чтобы удалить nohup) и вместо этого выскочки вызовите его напрямую.

Кажется, это то, что expect пункт для, за исключением того, что в моем случае это не работает. Даже с expect daemon (случай с двумя форками), я заканчиваю тем, что отслеживал неправильный pid при запуске службы. Это говорит о том, что мой сценарий слишком много nohup не должен быть обработан с expect или еще что-то еще.

Как я могу использовать upstart для управления сервисом, который ожидает запуска с помощью скрипта, который вызывает nohup?

1 ответ

Вы можете попробовать использовать crontab и ввести это в терминал:

 crontab -f nohup

и затем введите это:

 pyton(version) -v -f echo 'nohup' & disown

а затем введите это в терминале:

 crontab reboot

и это может нормально работать таким образом.

Другие вопросы по тегам