Я собираюсь написать приложение на Smalltalk-форке Pharo и запустить его на сервере Ubuntu 18.04.
Pharo работает как среда VM, используя образ Pharo, который запускает конкретное приложение. При развертывании Pharo важно, чтобы виртуальная машина работала и следила за тем, чтобы она не вылетала и не зависала.
Книга Pharo Enterprise рекомендует использовать для этого утилиту monit
, хотя данные инструкции основаны на сценариях инициализации.
Есть ли лучший подход с использованием systemd?
Взгляните на systemd service , в частности Restart и его условия (чтобы решить, следует ли перезапустить перезапуск или нет).
Кроме того, в документе вы перечислили определенные действия, которые необходимо предпринять в качестве подготовки / последующего перезапуска. Для этого может помочь ExecStartPre и co.
Рабочая нагрузка «как есть» может и не подходить для нее (пока), но, как правило, в дополнение к этому вам следует рассмотреть возможность использования службы для поддержания активности и проверки что.