А теперь системный ответ.
После этих вопросов и ответов прошло почти четыре года, и мир изменился, хотя они не изменились. Начиная с версии 7, CentOS использует systemd. Ubuntu упоминается в вопросе и в комментариях. Начиная с версии 15, Ubuntu также использует systemd.
Хотя в Systemd можно использовать rc
сценарии System 5 , сценарии в ответах здесь, по меньшей мере, не совсем оптимальны. Один беспечно использует killall
, чьи проблемы для управления демонами хорошо известны; а другой - путаница файла шаткой блокировки и логики PID-файла, ни одна из которых на самом деле не нужна в диспетчере сервисов, так как сами сервис-менеджеры отслеживают демон-процессы.
Как я уже говорил в другом месте, если вы начинаете изучать этот материал и используете CentOS Linux версии 7 или новее или Ubuntu Linux версии 15 или новее, не начинайте со rc
сценариев System 5 . Начните с файловых модулей systemd.
шаблон для нескольких сервисов Xvfb
Простые xvfb.service
Systemd файлы блок для Xvfb можно найти на https://www.centos.org/forums/viewtopic.php?f=48&t=49080#p208363 и в https://askubuntu.com/a/621256/43344 . Однако, как я упоминал в последнем, можно также использовать шаблонный подход:
[Ед. изм]
Описание = виртуальный фрейм-буфер X-сервер для отображения% I
После того, как = network.target
[Обслуживание]
ExecStart = / usr / bin / Xvfb% I-экран 0 1280x1024x24
[Установить]
WantedBy = multi-user.target
В качестве локально написанного, не системного, неупакованного, единичного файла для общесистемных (в отличие от каждого пользователя) услуг это, /etc/systemd/system/xvfb@.service
конечно, рассматривается .
контроль услуг
Один экземпляр шаблона, в фактическую именованную услугу, с желаемым номером дисплея. Поэтому для отображения :99
существует фактический экземпляр службы с именем xvfb@:99.service
.
- Установите сервис для автоматического запуска при загрузке с
systemctl enable xvfb@:99.service
.
- Отключить автозапуск сервиса с помощью
systemctl disable xvfb@:99.service
.
- Запустите сервис вручную с помощью
systemctl start xvfb@:99.service
.
- Остановите службу вручную с помощью
systemctl stop xvfb@:99.service
.
- Проверьте текущее состояние службы подробно с
systemctl status xvfb@:99.service
.
дальнейшее чтение