Linux에서 시작시 실행중인 프로그램 중지


29

Linux에서 시작할 때 실행중인 프로그램을 중지하는 방법 supervisord예를 들어 apache2 로 관리 할 수 ​​있도록 시작에서 일부 앱을 제거하고 싶습니다.


그렇기 때문에 내가 태그를 지정하지 않은 이유는 ... 몇 가지 다른 배포판으로 작업하면서 모든 변형을 찾고 있습니다.
Frozenskys

답변:


29

배포판에 따라 chkconfig 또는 update-rc.d 도구를 사용하여 시스템 서비스를 활성화 / 비활성화합니다.

Redhat / suse / mandrake 스타일 시스템에서 :

sudo chkconfig apache2 off 

데비안에서 :

sudo update-rc.d -f apache2 remove

자세한 내용은 해당 매뉴얼 페이지를 확인하십시오.


왜 데비안 기반 배포판에서 -f (강제로 가정)가 필요합니까?
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/ 스크립트의 삭제 여부에 관계없이 링크 파일이 올바르게 삭제됩니다.
jacksonh

아, 그건 말이 되네요. 런레벨 스크립트는 init 스크립트에 대한 링크 일뿐입니다. 추가 설명 감사합니다.
Frozenskys

6

현대 우분투 시스템과 다른 배포판을 다루는 경우 전통적인 init 스크립트와 시작 스크립트의 조합을 처리해야 할 수도 있습니다. init 스크립트 관리는 다른 답변에서 다룹니다. 다음은 부팅시 시작 서비스가 시작되지 않도록하는 한 가지 방법입니다.

# mv /etc/init/servicename.conf /etc/init/servicename.conf.disabled

이 방법의 문제점은 다음을 사용하여 서비스를 시작할 수 없다는 것입니다.

# service start servicename

이에 대한 대안은 servicename.conf즐겨 사용하는 편집기에서 파일 을 열고 다음으로 시작하는 행을 주석 처리하십시오.

start on

즉, 이것을 다음으로 변경하십시오.

#start on ...

여기서 "..."는 이전에 "시작"한 이후의 항목입니다 이렇게하면 다시 활성화 할 때 "시작"매개 변수가 무엇인지 기억하지 않아도됩니다.

마지막으로, 새로운 버전의 upstart가있는 경우 구성 파일 끝에 "manual"이라는 단어를 추가하면됩니다. 쉘에서 직접 수행 할 수 있습니다.

# echo "manual" >> /etc/init/servicename.conf

이로 인해 upstart는 파일의 앞부분에있는 "start on"문구를 무시합니다.


2

최근 Fedora 및 Future RHEL 시스템

systemctl disable httpd.service

httpd 서비스를 비활성화합니다


감사! 많은 방법을 시도했지만이 systmctl명령 이 제대로 작동했습니다.
loved.by. 예수 께서

1

모든 시작 서비스를 나열하려면

    systemctl

시작시 서비스 실행을 중지하려면

    sudo systemctl disable servicename

예를 들어 시작시 ssh 서버 실행을 중지해야하는 경우

    sudo systemctl disable sshd.service

우리는 이것을 사용하여 다시 활성화 할 수 있습니다

    sudo systemctl enable sshd.service

거의 모든 리눅스 배포판은 부트 스트랩 시작 서비스를 위해 systemd를 사용합니다. 따라서 위의 명령은 대부분의 배포판에서 작동합니다.


U & L에 오신 것을 환영합니다. 기여해 주셔서 감사합니다! 이 질문은 8 살 정도되었으므로, 그 대답 은 그 당시에 맞았습니다. systemctl을 사용하는 것은 지금 정확할 수도 있지만, 다른 질문에 대해서는 맞습니다 .
Jeff Schaller

자세한 설명은 @Prince 감사합니다. Xubuntu에서 부팅 시작이 어떻게 작동하는지 이해하는 데 도움이되었습니다.
loved.by. 예수 께서

0

슬랙웨어와 아치 리눅스는 부팅시에 프로세스를 중지 / 시작하는 비슷한 방법을 가지고 있는데, 위에서 주어진 우분투와 레드햇 스타일의 예와는 다릅니다.

슬랙웨어 및 아치 리눅스 모두에서 sh 스크립트는 디렉토리에 존재합니다. /etc/rc.d , 일반적으로 데몬 당 하나의 스크립트 또는 서브 시스템 당 하나의 스크립트로 .

예를 들어, Slackware는 /etc/rc.d/rc.httpd시스템 시작시 "start"인수로 적절한 시간에 호출 되는 script를 사용하여 Apache 웹 서버를 시작합니다. 아치 리눅스는 다른 이름의 스크립트를 가지고 있지만 같은 종류의 일이 계속됩니다.

시스템 부팅 중에 일부 프로세스가 시작되지 않도록하려면 Slackware에서 /etc/rc.d의 해당 스크립트를 실행 가능하지 않게 만듭니다. 다음 부팅에서 Apache가 시작되지 않도록하려면

chmod -x /etc/rc.d/rc.httpd

부팅시 시작된 Apache를 중지하려면 /etc/rc.d/rc.httpd stop 루트 사용자 여야합니다.

아치는 좀 더 복잡합니다. 쉘 스크립트 인 /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)

이미 실행중인 아파치를 중지하려면 /etc/rc.d/httpd stop루트로 실행 합니다.


0

Ubuntu 10.04에서는 GUI에서 일부 시작 프로그램을 제어 할 수 있습니다.

SystemPreferencesStartup Applications

시작 응용 프로그램 환경 설정


1
원본 이미지가 더 이상 존재하지 않습니다.
tshepang

-1

1) 키보드의 수 퍼키를 누릅니다. 2) '시작 응용 프로그램'을 검색합니다. 3) 사용하지 않을 프로그램을 선택합니다. 4) worx 인 경우이 답변과 같습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.