4

Я создал приложение и файл сервиса. Вы можете запустить / остановить / перезапустить сервис ... Я хочу запустить этот сервис во время загрузки Suse Enterprise linux, я попытался добавить этот файл в /etc/init.d/my-service, но он не запускается при загрузке

1 ответ1

7

Вы должны добавить этот файл в желаемый уровень запуска. Например:

sudo update-rc.d my-service default

Добавит его в уровень запуска по умолчанию в дистрибутивах на основе Debian. Также убедитесь, что файл имеет такую структуру:

#!/bin/bash
case "$1" in
    start)
        #do startup commands
        ;;
    stop)
        #do stop commands
        ;;
 esac

Однако в SUSE Linux есть /etc/init.d/skeleton который необходимо редактировать для создания новых сценариев. Этот скелет содержит специальные комментарии (они являются комментариями для оболочки, но используются YaST) для описания того, на каких уровнях запуска должен быть запуск / останов.

После этого скрипт будет отображаться в YaST → Система → Системные службы (уровень запуска) и может быть включен / выключен оттуда (создание ссылок и т.д.).

Чтобы включить службу, вы также можете использовать chkconfig , например:

chkconfig --set someservice on

или же

chkconfig --set someservice off

и соответствующие ссылки будут созданы / удалены. Для более точного контроля над уровнями, вы можете использовать

chkconfig --level 35 someservice on

Источник: OpenSUSE update-rc.d эквивалент.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .