Запуск программ и демонов при помощи автозагрузки systemd прост как мычание. Разберем пример на основе старта демона searchd для поисковика sphinx при перезагрузке системы. Кроме того, мы выполним две даже команды, и даже с условием, сперва создав директорию под процесс(если директории не существует) и затем запустим сам процесс. Создадим юнит файл runsearchd.service
nano /lib/systemd/system/runsearchd.service
С таким содержимым:
[Unit] Description=Run searchd daemon After=multi-user.target After=sphinxsearch.service After=mysql.service [Service] Type=oneshot RemainAfterExit=yes ExecStart=/bin/bash -c 'if [ ! -d /run/sphinxsearch ]; then mkdir /run/sphinxsearch ; fi' ExecStart=/usr/bin/searchd -c '/etc/sphinxsearch/sphinx.conf' [Install] WantedBy=multi-user.target
В параметре ExecStart мы указали что нужно создать директорию в случае отсутствия таковой и запустить нужный нам процесс с нужными параметрами.
На юнит файл chmod 644 chmod 644 /lib/systemd/system/runsearchd.service и перезагружаем настройки systemd systemctl daemon-reload и добавляем юнит в автозапуск при загрузке linux системы
systemctl enable runsearchd.service
Всё готово.