Подготовить корректный unit-файл. Подробности по ссылке: http://www.altlinux.org/Systemd_Status_P7
Надо сделать по меньшей мере =8<=================================================== --- a/rc.d/init.d/spawn-fcgi +++ b/rc.d/init.d/spawn-fcgi @@ -6,7 +6,7 @@ # description: Spawn a fcgi processes # processname: /usr/bin/spawn-fcgi # config: /etc/sysconfig/spawn-fcgi -# pidfile: /var/run/spawn-fcgi.pid +# pidfile: /var/run/spawn-fcgi/spw-cgi.pid =8<=================================================== чтобы запускалось под systemd. rider: ping?
Хотя наверное лучше =8<=================================================== --- a/rc.d/init.d/spawn-fcgi +++ b/rc.d/init.d/spawn-fcgi @@ -13,7 +13,7 @@ WITHOUT_RC_COMPAT=1 # Source function library. . /etc/init.d/functions -PIDFILE=/var/run/spawn-fcgi/spw-cgi.pid +PIDFILE=/var/run/spawn-fcgi.pid SOCKET=/var/run/spawn-fcgi/spw-cgi.sock LOCKFILE=/var/lock/subsys/spawn-fcgi =8<=================================================== потому что /var/run/spawn-fcgi никто не создаёт.
Женя, твои последние два комментария ровно противоположны друг другу. В смысле - сейчас в пакете: $ fgrep '# pidfile' /etc/init.d/spawn-fcgi # pidfile: /var/run/spawn-fcgi.pid
Первый комментарий ошибочный, конечно. Сейчас пакет из коробки не запускается под systemd потому что а) никто не создаёт каталог /var/run/spawn-fcgi б) даже если создать такой каталог, pidfile в заголовке LSB не совпадает с фактически создаваемым, поэтому при старте сервиса systemd долго (я не дождался таймаута) ждет его появления. Проще всего отказаться от создания каталога /var/run/spawn-fcgi и указать в переменной PIDFILE тот же путь, что и в заголовке LSB. Что и обозначено во втором комментарии.
Ок, сделаю.
не всё так просто - ещё же есть сокет, который кладётся в /var/run/spawn-fcgi/ поэтому /var/run/spawn-fcgi будем создавать, дабы не ломать существующие конфигурации.
ping?
Совместимость spawn-fcgi с systemd не нужна, fcgiwrap делаёт всё за него сам. systemctl start fcgiwrap. Аналогично нужно писать сервисы для тех служб, которые хотелось запускать в systemd окружении через spawn-fcgi
(В ответ на комментарий №8) > Совместимость spawn-fcgi с systemd не нужна, fcgiwrap делаёт всё за него сам. > systemctl start fcgiwrap. > Аналогично нужно писать сервисы для тех служб, которые хотелось запускать в > systemd окружении через spawn-fcgi Звучит странно. Вот у меня spawn-fcgi запускает /usr/sbin/rt-server.fcgi, как предлагается в инструкции к request-tracker. В итоге spawn-fcgi не работает сейчас с sysvinit (не может найти запущенный процесс из-за подмены в /proc/NUM/exe), и через systemd не запустить, потому что unit-файла нет.
ну напиши юнит для своего /usr/sbin/rt-server.fcgi Посмотри на примеры в пакете fcgiwrap.