Всех приветствую!
Пишу сервис для запуска nifi, т.к не сильно подходит вариант запуска через родной script, хочется красиво.
Сам сервис, использую тип forking, т.к. при запуске nifi сразу создает pid файл и пораждает два процесса один из которых периодически может пропадать.
[Unit]
Description=nifi
After=network.target
Documentation=https://nifi.apache.org
[Service]
Type=forking
ExecStart=java -cp /var/lib/nifi/conf/:/var/lib/nifi/lib/bootstrap/* -Xms12m -Xmx24m -Dorg.apache.nifi.bootstrap.config.log.dir=/var/log/nifi/ -Dorg.apache.nifi.bootstrap.config.pid.dir=/var/run/nifi/ -Dorg.apache.nifi.bootstrap.config.file=/var/lib/nifi/conf/bootstrap.conf org.apache.nifi.bootstrap.RunNiFi run
ExecStop=java -cp /var/lib/nifi/conf/:/var/lib/nifi/lib/bootstrap/* -Xms12m -Xmx24m -Dorg.apache.nifi.bootstrap.config.log.dir=/var/log/nifi/ -Dorg.apache.nifi.bootstrap.config.pid.dir=/var/run/nifi/ -Dorg.apache.nifi.bootstrap.config.file=/var/lib/nifi/conf/bootstrap.conf org.apache.nifi.bootstrap.RunNiFi stop
User=nifi
Group=nifi
PIDFile=/var/run/nifi/nifi.pid
Restart=on-abort
[Install]
WantedBy=multi-user.target
Если использую конструкцию выше, то при старте висить около 30 сек и потом вылетает.
Если руками просто запустить используя строку запуска из ExecStart, то все ок.
Если тип юнита меняю на simple то запуск происходит, но сразу возникает вопрос, как отслеживать процессы.