Обычно я использую service start/stop
или initctl start/stop
для запуска или остановки процесса демона, но теперь я ищу, чтобы отключить запуск процесса демона при запуске mysqld
.
В настоящее время , что я делаю это переименование /etc/init/mysql.conf
до , /etc/init/mysql.conf.bak
но после прочтения немного о том, systemd
я узнал , что она предоставляет enable & disable
возможность для указанной выше задачи.
Итак, есть ли что-то похожее в Ubuntu 12.04 с upstart
.
systemctl [enable|disable|is-enabled] mysqld.service
Ответы:
Вы можете отключить службы, выполнив следующую команду:
Выдержка из справочной страницы :
источник
Правильный способ отключить и запустить сервис - создать файл XX.override,
echo 'manual' > /etc/init/mysqld.override
Таким образом, сервис upstart не запустится автоматически
источник
Ubuntu 12.04
?@RSK yes, why don't you just give it a try?
Я полагаю, потому что очень неудобно перезагружать систему с «попыткой» каждого совета с этой страницы.@ warl0ck это правильно; хотел бы добавить, что эта информация достаточно хорошо документирована в документации Upstart: http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatics-starting.
В частности:
источник
В этом вам также поможет отличное программное обеспечение. Это называется rcconf.
Просто скачайте его, используя:
и использовать его с командой
Вы получаете хороший (командная строка) интерфейс для отключения / включения сервисов.
источник
Попробуйте найти
/etc/rc2.d
и переименовать то, что вы не хотите запускать при запуске: измените (начальное, заглавное) «S» на «K» (например,S02mysql
наK02mysql
). Если вы передумаете, просто измените это. Я думаю, что 2 относится к уровню запуска, в этом случае 2 является уровнем запуска по умолчанию, многопользовательским. Вероятно, именно здесь у вас есть большинство вещей для повседневного использования компьютера.Изменить : Прочитайте комментарий Джеймса О'Гормана ниже.
источник
who -r
илиrunlevel
.who --runlevel
.init
при выключении будет запускаться «KXXscript stop». Вы должны либо удалить символическую ссылку, либо удалить бит выполнения из реального сценария инициализации. Я считаю, что Debian использует этоupdate-rc.d
для управления. RHEL (и производные) использоватьchkconfig
.С Upstart конфигурация службы находится в файлах в
/etc/init/
. Например, ssh контролируется с помощью файла конфигурации/etc/init/ssh.conf
Этот файл определяет «события», которые побудят Upstart запустить «задание».
Чтобы предотвратить автоматический запуск службы, можно использовать один из нескольких методов:
a) Переименуйте файл service.conf, чтобы он не заканчивался на .conf
b) Закомментируйте строку «start on» из файла service.conf.
В более новых версиях upstart (по крайней мере начиная с v1.3) вы также можете переопределить запуск on line, используя файл service.override, так что вы можете использовать:
# echo manual > /etc/init/service.override
Наконец, вы также можете добавить ключевое слово «manual» в конец файла конфигурации службы, например, через:
# echo manual >> /etc/init/service.conf
Обратите внимание, что это не «останавливает» запущенную службу, а только предотвращает ее автоматический запуск. Установив «ручной» запуск, вы управляете сервисом с помощью initctl, например, чтобы остановить и запустить демон SSH:
# initctl stop ssh
# initctl start ssh
Возможно лучшая документация для Upstart находится на http://upstart.ubuntu.com/cookbook/
Раздел 11.44 описывает «отключение службы от автозапуска», здесь: http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatics-starting.
источник
Ну, я должен сказать, что заявление
немного вводит в заблуждение, потому что это означает добавить файл переопределения. Я проверил это на 14.04 с сетевым менеджером, и следующее не работает
Однако это сработало
Итак, IMO, initctl ищет первую незакомментированную строку и выполняет ее. Может быть, я ошибаюсь, но это были мои результаты испытаний. Входы приветствуются.
источник