Как остановить запуск программы при запуске в Linux. Я хочу удалить некоторые приложения из автозагрузки, чтобы позволить им управлять, supervisordнапример, apache2
Зачем вам нужен -f (я полагаю, это сила) в дистрибутивах на основе Debian?
Frozenskys
2
Здесь есть два набора файлов. У вас есть настоящий скрипт инициализации в /etc/init.d/, и у вас есть ссылки на него в каталоге уровня запуска /etc/rcrunlevel.d/. Эти парни указывают на скрипт в /etc/init.d/ Если вы не используете -f, то update-rd.d завершится неудачей, ЕСЛИ БЕЗ сценария в /etc/init.d/ уже удален. Если вы используете -f, то update-rc.d будет корректно удалять файлы ссылок независимо от того, был ли удален скрипт /etc/init.d/.
Джексон
Ах, это имеет большой смысл, я забыл, что сценарии уровня запуска были просто ссылками на сценарии инициализации. Спасибо за дополнительное объяснение.
Frozenskys
6
Если вы имеете дело с современной системой Ubuntu и несколькими другими дистрибутивами, вам, возможно, придется столкнуться с комбинацией традиционных скриптов инициализации и скриптов upstart. Управление сценариями инициализации покрыто другими ответами. Ниже приведен один из способов остановить запуск службы upstart при загрузке:
Проблема этого метода заключается в том, что он не позволяет запустить службу с помощью:
# service start servicename
Альтернатива этому - открыть servicename.confфайл в вашем любимом редакторе и закомментировать любые строки, начинающиеся с:
start on
То есть измените это на
#start on ...
где «...» - это то, что было после «начала» ранее. Таким образом, когда вы хотите снова включить его, вам не нужно запоминать, какими были параметры «start on».
Наконец, если у вас есть новая версия upstart, вы можете просто добавить слово «manual» в конец файла конфигурации. Вы можете сделать это прямо из оболочки:
# echo "manual" >> /etc/init/servicename.conf
Это заставит upstart игнорировать любые фразы «start on» ранее в файле.
Благодарность! Я перепробовал много методов, но эта systmctlкоманда работала нормально.
love.by.Иисус
1
Чтобы перечислить все службы запуска
systemctl
Чтобы остановить запуск службы при запуске
sudo systemctl disable servicename
Например, если нам нужно остановить запуск SSH-сервера при запуске
sudo systemctl disable sshd.service
Мы можем включить это снова, используя
sudo systemctl enable sshd.service
Почти все дистрибутивы Linux используют systemd для начальной загрузки сервисов запуска. Таким образом, приведенные выше команды работают для большинства дистрибутивов.
Добро пожаловать в U & L, и спасибо за ваш вклад! Я хотел бы отметить, что этому вопросу уже около восьми лет, поэтому принятый ответ был верным на тот момент. Использование systemctl может быть правильным сейчас , но это верно для другого вопроса .
Джефф Шаллер
@ Принц спасибо за подробные объяснения. Это помогло мне понять, как загрузочный запуск работает в моем Xubuntu.
love.by.Иисус
0
Slackware и Arch linux имеют похожие методы остановки / запуска процессов при загрузке, отличающиеся от приведенных выше примеров в стиле Ubuntu и Redhat.
Как в Slackware, так и в Arch, в каталоге существуют сценарии sh /etc/rc.d, обычно один сценарий для демона или один сценарий для подсистемы.
Например, Slackware запускает веб-сервер Apache с помощью скрипта /etc/rc.d/rc.httpd, который вызывается в подходящее время при запуске системы с аргументом «start». Arch Linux имеет скрипты с разными именами, но происходит то же самое.
Чтобы не запускать какой-либо процесс во время загрузки системы, в Slackware вы просто делаете соответствующий скрипт в /etc/rc.d не исполняемым. Чтобы предотвратить запуск Apache при следующей загрузке:
chmod -x /etc/rc.d/rc.httpd
Чтобы остановить Apache, запущенный при загрузке: /etc/rc.d/rc.httpd stop вам нужно быть пользователем root.
Арка немного сложнее. Файл /etc/rc.conf, сценарий оболочки, имеет массив DAEMONS. Чтобы Apache не запускался при загрузке, вы должны изменить эту строку в /etc/rc.conf:
1) нажмите суперключ на клавиатуре 2) найдите «Startup Applications» 3) выберите программу, которую вы хотите отключить 4) нажмите как на этот ответ, если worx.
Ответы:
В зависимости от вашего дистрибутива используйте утилиту chkconfig или update-rc.d для включения / отключения системных служб.
В системе стиля Redhat / Suse / Mandrake:
На Debian:
Проверьте их страницы руководства для получения дополнительной информации.
источник
Если вы имеете дело с современной системой Ubuntu и несколькими другими дистрибутивами, вам, возможно, придется столкнуться с комбинацией традиционных скриптов инициализации и скриптов upstart. Управление сценариями инициализации покрыто другими ответами. Ниже приведен один из способов остановить запуск службы upstart при загрузке:
Проблема этого метода заключается в том, что он не позволяет запустить службу с помощью:
Альтернатива этому - открыть
servicename.conf
файл в вашем любимом редакторе и закомментировать любые строки, начинающиеся с:То есть измените это на
где «...» - это то, что было после «начала» ранее. Таким образом, когда вы хотите снова включить его, вам не нужно запоминать, какими были параметры «start on».
Наконец, если у вас есть новая версия upstart, вы можете просто добавить слово «manual» в конец файла конфигурации. Вы можете сделать это прямо из оболочки:
Это заставит upstart игнорировать любые фразы «start on» ранее в файле.
источник
О последних системах Fedora и Future RHEL
отключит службу httpd
источник
systmctl
команда работала нормально.Чтобы перечислить все службы запуска
Чтобы остановить запуск службы при запуске
Например, если нам нужно остановить запуск SSH-сервера при запуске
Мы можем включить это снова, используя
Почти все дистрибутивы Linux используют systemd для начальной загрузки сервисов запуска. Таким образом, приведенные выше команды работают для большинства дистрибутивов.
источник
Slackware и Arch linux имеют похожие методы остановки / запуска процессов при загрузке, отличающиеся от приведенных выше примеров в стиле Ubuntu и Redhat.
Как в Slackware, так и в Arch, в каталоге существуют сценарии sh
/etc/rc.d
, обычно один сценарий для демона или один сценарий для подсистемы.Например, Slackware запускает веб-сервер Apache с помощью скрипта
/etc/rc.d/rc.httpd
, который вызывается в подходящее время при запуске системы с аргументом «start». Arch Linux имеет скрипты с разными именами, но происходит то же самое.Чтобы не запускать какой-либо процесс во время загрузки системы, в Slackware вы просто делаете соответствующий скрипт в /etc/rc.d не исполняемым. Чтобы предотвратить запуск Apache при следующей загрузке:
Чтобы остановить Apache, запущенный при загрузке:
/etc/rc.d/rc.httpd stop
вам нужно быть пользователем root.Арка немного сложнее. Файл /etc/rc.conf, сценарий оболочки, имеет массив DAEMONS. Чтобы Apache не запускался при загрузке, вы должны изменить эту строку в /etc/rc.conf:
К этой строке:
Чтобы остановить уже работающий Apache, вы должны выполнить
/etc/rc.d/httpd stop
от имени пользователя root.источник
В Ubuntu 10.04 вы можете управлять некоторыми программами запуска из графического интерфейса.
System→ Preferences→Startup Applications
источник
1) нажмите суперключ на клавиатуре 2) найдите «Startup Applications» 3) выберите программу, которую вы хотите отключить 4) нажмите как на этот ответ, если worx.
источник