У меня есть небольшой блок Atom, на котором я запускаю Xubuntu (18.04.3 LTS Ubuntu с Xfce), и у меня есть lighttpd, и я собираюсь настроить номер порта в файле conf (чтобы избежать столкновения с Apache на порт 80).
Я могу запустить lighttpd с помощью 'service lighttpd start', но когда я использую 'service --status-all', lighttpd не отображается (как + или -). Я могу ps и видеть процесс, я могу netstat и видеть, что мой порт работает (и я могу перейти к этому порту и увидеть свою страницу индекса).
Разве lighttpd не должен отображаться как --status-all службы, если его можно запустить с помощью служебной команды?
Есть ли какой-то параметр или место, где --status-all извлекает информацию о том, что является настроенной службой? (текстовая таблица где-то или что-то в этом роде)?
У меня есть работающая конфигурация, но теперь я бы хотел: а) заставить ее вести себя как служба (включая отображение в запросах состояния) б) заставить ее автоматически запускаться вместе с машиной
Так что же мне не хватает, чтобы это произошло?
В Ubuntu (и, вероятно, в других дистрибутивах, использующих systemd) service
двоичный файл - это помощник, запускающий сценарий инициализации System V (из /etc/init.d
) или блок systemd. Согласно страница руководства для двоичного файла службы:
Наличие модуля systemd с тем же именем, что и сценарий в /etc/init.d, приведет к тому, что модуль будет иметь приоритет над сценарием init.d.
При установке lighttpd
он включает как сценарий инициализации System V, так и модуль systemd:
ubuntu@primary:~$ dpkg -S /lib/systemd/system/lighttpd.service
lighttpd: /lib/systemd/system/lighttpd.service
ubuntu@primary:~$ dpkg -S /etc/init.d/lighttpd
lighttpd: /etc/init.d/lighttpd
Что происходит в вашем случае, вы действительно запустили модуль systemd. В service
binary не показывает статус модулей systemd.
Вы можете увидеть его в списке status
или list-units
для подкоманды для systemctl
с помощью:
sudo systemctl list-units
Вы также можете получить статус отдельного объекта, используя:
sudo systemctl status lighttpd