web-dev-qa-db-ja.com

Linuxの起動時に実行中のプログラムを停止する

Linuxで起動時に実行中のプログラムを停止するにはどうすればよいですか。一部のアプリをスタートアップから削除して、supervisordで管理できるようにします。例:Apache2

31
Frozenskys

ディストリビューションに応じて、chkconfigまたはupdate-rc.dツールを使用してシステムサービスを有効/無効にします。

Redhat/suse/Mandrakeスタイルシステム:

Sudo chkconfig Apache2 off 

Debianの場合:

Sudo update-rc.d -f Apache2 remove

詳しくは、manページをご覧ください。

29
jacksonh

最新のUbuntuシステムと他のいくつかのディストリビューションを扱っている場合は、従来のinitスクリプトとupstartスクリプトの組み合わせを扱わなければならない場合があります。 initスクリプトの管理は他の回答でカバーされています。以下は、起動時にupstartサービスが起動しないようにする1つの方法です。

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

この方法の問題は、以下を使用してサービスを開始できないことです。

# service start servicename

これの代わりに、servicename.confファイルをお気に入りのエディターで開き、次で始まる行をコメント化します。

start on

つまり、これを

#start on ...

ここで、「...」は、以前の「開始」後のものです。これにより、再度有効にするときに、「開始」パラメーターが何であったかを覚えておく必要がありません。

最後に、upstartの新しいバージョンがある場合は、構成ファイルの最後にWordの「手動」を追加するだけです。これはシェルから直接実行できます。

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

これにより、upstartはファイル内の前の「start on」句を無視します。

6
Steven D

最近のFedoraおよびFuture RHELシステム

systemctl disable httpd.service

httpdサービスを無効にします

3
Alastair

すべてのスタートアップサービスを一覧表示するには

    systemctl

起動時にサービスの実行を停止するには

    Sudo systemctl disable servicename

たとえば、起動時にsshサーバーの実行を停止する必要がある場合

    Sudo systemctl disable sshd.service

これを再び有効にするには、

    Sudo systemctl enable sshd.service

ほとんどすべてのLinuxディストリビューションは、スタートアップサービスのブートストラップにsystemdを使用しています。したがって、上記のコマンドはほとんどのディストリビューションで機能します。

1
Prince

SlackwareとArch Linuxには、上記のUbuntuやRedhatスタイルの例とは異なり、起動時にプロセスを停止/開始する同様の方法があります。

SlackwareとArch linuxの両方で、shスクリプトは/etc/rc.dディレクトリにあります。通常、デーモンごとに1つのスクリプト、またはサブシステムごとに1つのスクリプトです。

たとえば、Slackwareは、スクリプト/etc/rc.d/rc.httpdを使用してApache Webサーバーを起動します。このスクリプトは、システム起動中の適切な時点で、引数「start」を使用して呼び出されます。 Arch Linuxには異なる名前のスクリプトがありますが、同じようなことが起こります。

システムの起動中に一部のプロセスが開始されないようにするには、Slackwareで、/ etc/rc.d内の適切なスクリプトを実行可能にしないようにします。 Apacheが次回の起動時に起動しないようにするには:

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

起動時に開始したApacheを停止するには:/etc/rc.d/rc.httpd stop rootである必要があります。

Archはもう少し複雑です。シェルスクリプトであるファイル/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を実行します。

0
Bruce Ediger

Ubuntu 10.04では、GUIからいくつかのスタートアッププログラムを制御できます。

SystemPreferencesStartup Applications

Startup Applications Preferences

0
jjclarkson