3

Одно из моих приложений находится в бесконечном цикле на уровне выполнения 1, печатая Протокол не указан непрерывно после запуска startx -- :1 . Уровень запуска не слушает мои команды, данные на уровне запуска. Я, конечно, могу дать ядро Magic * B, но это закроет все остальные мои уровни запуска, которые я не хочу. Магия * К не работает.

Один из неприятных способов остановить уровень выполнения - удалить такие компоненты, как /etc/rc1.d/*.*bluetooth.* Однако я не вижу в этом хорошего пути в долгосрочной перспективе.

Как можно убить все процессы на уровне выполнения 1, который принадлежит открытому приглашению на данном уровне выполнения?

1 ответ1

3

Чистый способ сделать это - использовать update-rc.d. Вы можете настроить программу так, чтобы она вообще не запускалась на уровне выполнения 1:

$update-rc.d script_name stop 1 .

где script_name - это скрипт init.d Например, чтобы остановить запуск Apache на уровне выполнения 1:

$update-rc.d apache2 stop 1 .

Если вы хотите полностью отключить указанный сервис:

$update-rc.d -f script_name remove

Если вы собираетесь отключить службу, вы также должны остановить ее запуск на всех уровнях выполнения. В следующий раз, когда сервис будет обновлен, сценарии init.d могут быть воссозданы, по сути, снова включив ваш сервис.

Чтобы отключить его на всех уровнях выполнения:

$update-rc.d script_name stop 80 0 1 2 3 4 5 6 .

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