как удостовериться, что программа всегда работает, но без корневого доступа?

Необходимо было бы действительно выполнить собственный сервер DNS и подстановочные знаки использования. Точно, как Вы сделали бы, который будет зависеть от пакета DNS, Вы работали.

4
07.06.2011, 00:45
5 ответов

Я отправил это по подобному вопросу


Если у Вас есть a cron демон, один из предопределенных рычагов времени крона @reboot, который естественно работает, когда система запускается. Выполненный crontab -e отредактировать Ваш crontab файл, и добавляет строку:

@reboot /your/command/here

Мне говорят, что это не определяется для всех демонов крона, таким образом, необходимо будет проверить, чтобы видеть, работает ли это над конкретным

4
27.01.2020, 20:50

Более общее решение состояло бы в том, чтобы настроить cronjob, который проверяет, выполняет ли Ваша программа каждые несколько минут. Я выполняю dircproxy как обычный пользователь, и crontab запись похожа:

*/10 * * * */path/to/dircproxy_cron.sh

3
27.01.2020, 20:50

Это не ответ на общий вопрос, но должно, вероятно, быть упомянуто.

Unix и подобные Unix системы часто используются в пользовательских средах, так как они - многопользовательские операционные системы. Из-за этого администраторы таких систем часто не решаются устанавливать неизвестные сервисы или программное обеспечение, потому что оно может привести к нестабильности или ненадежности для всех пользователей системы. Таким образом я думаю, что первые шаги

  1. Определите, почему администратор не хочет установленный сервис.
  2. Думайте о том, можно ли выполнить задачу в некотором роде, которая обратилась бы к проблемам администратора.
  3. В противном случае определите, является ли озабоченность администратора обоснованной. А именно, спросите себя, "Это могло вызвать нестабильность или других пользователей?", "Это могло влиять на производительность для других пользователей?", и "Это могло оставить других пользователей открытыми для уязвимостей системы обеспечения безопасности?"
  4. Если ответ всем тем не, спросите себя, могло ли, делая это без разрешения администраторов получить Вас в проблему.
  5. Если это не будет или если Вы готовы принять риск, попробуйте один из упомянутых выше методов.
1
27.01.2020, 20:50

Еще более надежное решение состояло бы в том, чтобы использовать контрольный инструмент как Monit или бог, который автоматически обнаруживает, что процесс мертв и перезапускает его, произошло ли это во время перезагрузки или нет.

Вы могли бы думать, что это - излишество, но на самом деле конфигурация Monit является простым как

check process foo with pidfile /var/run/foo.pid
  start program  "foo_start"
  stop program  "foo_stop"
  if 5 restarts within 5 cycles then timeout

Конечно, предположение - то, что администратор готов установить контрольный инструмент для Вас так, это могла быть проблема курицы и яйца :)

0
27.01.2020, 20:50

Я рекомендовал бы http://supervisord.org/, это будет супернедостаток Ваш процесс, перезапустить его для Вас и имеет много конфигурации и должно быть выполнено как обычный пользователь.

0
27.01.2020, 20:50

Теги

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