
Linux에서 시작 시 실행 중인 프로그램을 어떻게 중지합니까? supervisord
apache2 등 으로 관리할 수 있도록 시작 시 일부 앱을 제거하고 싶습니다.
답변1
배포판에 따라 chkconfig 또는 update-rc.d 도구를 사용하여 시스템 서비스를 활성화/비활성화합니다.
Redhat/suse/mandrake 스타일 시스템의 경우:
sudo chkconfig apache2 off
데비안에서:
sudo update-rc.d -f apache2 remove
자세한 내용은 해당 매뉴얼 페이지를 확인하세요.
답변2
최신 Ubuntu 시스템과 몇 가지 다른 배포판을 다루는 경우 기존 init 스크립트와 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" 문구를 무시하게 됩니다.
답변3
모든 시작 서비스를 나열하려면
systemctl
시작 시 서비스 실행을 중지하려면
sudo systemctl disable servicename
예를 들어 시작 시 SSH 서버 실행을 중지해야 하는 경우
sudo systemctl disable sshd.service
다음을 사용하여 이를 다시 활성화할 수 있습니다.
sudo systemctl enable sshd.service
거의 모든 Linux 배포판은 시작 서비스 부트스트래핑을 위해 systemd를 사용합니다. 따라서 위 명령은 대부분의 배포판에서 작동합니다.
답변4
Ubuntu 10.04에서는 GUI에서 일부 시작 프로그램을 제어할 수 있습니다.
System→ Preferences→Startup Applications