Как остановить запуск программы при запуске в Linux. Я хочу удалить некоторые приложения из автозагрузки, чтобы позволить им управлять, supervisord
например, apache2
Как остановить запуск программы при запуске в Linux. Я хочу удалить некоторые приложения из автозагрузки, чтобы позволить им управлять, supervisord
например, apache2
Ответы:
В зависимости от вашего дистрибутива используйте утилиту chkconfig или update-rc.d для включения / отключения системных служб.
В системе стиля Redhat / Suse / Mandrake:
sudo chkconfig apache2 off
На Debian:
sudo update-rc.d -f apache2 remove
Проверьте их страницы руководства для получения дополнительной информации.
Если вы имеете дело с современной системой Ubuntu и несколькими другими дистрибутивами, вам, возможно, придется столкнуться с комбинацией традиционных скриптов инициализации и скриптов upstart. Управление сценариями инициализации покрыто другими ответами. Ниже приведен один из способов остановить запуск службы upstart при загрузке:
# mv /etc/init/servicename.conf /etc/init/servicename.conf.disabled
Проблема этого метода заключается в том, что он не позволяет запустить службу с помощью:
# service start servicename
Альтернатива этому - открыть servicename.conf
файл в вашем любимом редакторе и закомментировать любые строки, начинающиеся с:
start on
То есть измените это на
#start on ...
где «...» - это то, что было после «начала» ранее. Таким образом, когда вы хотите снова включить его, вам не нужно запоминать, какими были параметры «start on».
Наконец, если у вас есть новая версия upstart, вы можете просто добавить слово «manual» в конец файла конфигурации. Вы можете сделать это прямо из оболочки:
# echo "manual" >> /etc/init/servicename.conf
Это заставит upstart игнорировать любые фразы «start on» ранее в файле.
О последних системах Fedora и Future RHEL
systemctl disable httpd.service
отключит службу httpd
systmctl
команда работала нормально.
Чтобы перечислить все службы запуска
systemctl
Чтобы остановить запуск службы при запуске
sudo systemctl disable servicename
Например, если нам нужно остановить запуск SSH-сервера при запуске
sudo systemctl disable sshd.service
Мы можем включить это снова, используя
sudo systemctl enable sshd.service
Почти все дистрибутивы 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 при следующей загрузке:
chmod -x /etc/rc.d/rc.httpd
Чтобы остановить Apache, запущенный при загрузке: /etc/rc.d/rc.httpd stop
вам нужно быть пользователем root.
Арка немного сложнее. Файл /etc/rc.conf, сценарий оболочки, имеет массив DAEMONS. Чтобы Apache не запускался при загрузке, вы должны изменить эту строку в /etc/rc.conf:
DAEMONS=(hal syslog-ng network netfs crond alsa sshd httpd ntpd postgresql)
К этой строке:
DAEMONS=(hal syslog-ng network netfs crond alsa sshd ntpd postgresql)
Чтобы остановить уже работающий Apache, вы должны выполнить /etc/rc.d/httpd stop
от имени пользователя root.
В Ubuntu 10.04 вы можете управлять некоторыми программами запуска из графического интерфейса.
System→ Preferences→Startup Applications
1) нажмите суперключ на клавиатуре 2) найдите «Startup Applications» 3) выберите программу, которую вы хотите отключить 4) нажмите как на этот ответ, если worx.