
Я хотел бы запустить фоновый процесс как root при загрузке моей установки Linux. Могу ли я просто добавить его в каталог или файл конфигурации?
решение1
По сути, у вас есть два варианта:
использовать
cron
задание с@reboot
указанием времени (crontab(1)
подробности см. на странице руководства)запустить его системой init. Для стиля init BSD/SysV это означает добавление скрипта куда-нибудь для запуска на желаемом уровне выполнения. Для systemd это включает создание файла юнита и его требование желаемой целью.
Первое решение лучше подходит для задач, локальных для одной или двух машин (поскольку они больше связаны с конфигурацией); второе подходит для задач типа служб/демонов, которые, скорее всего, будут выполняться на большем количестве систем и должны быть фактически упакованы для упрощения обслуживания.
решение2
Самый простой способ запустить процесс как root во время загрузки — это запустить его из /etc/rc.local
. Отредактируйте этот файл и добавьте строку типа
/path/to/my/daemon &
Однако это не очень хороший способ запуска демона. Вы не получаете удобного способа управлять им (проверить, запущен ли он, остановить его, перезапустить и т. д.).
Существует несколько фреймворков для управления демонами. Они привязаны к вашей системе инициализации: Sysvinit, Upstart, Systemd, каждый из которых имеет свой путь. Проверьте, что установлено в вашей системе (это зависит от вариантов unix, а для Linux это зависит от дистрибутива и выбора администратора).