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システムと他のいくつかのディストリビューションを扱っている場合、従来の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の新しいバージョンがある場合は、構成ファイルの最後に「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 Linuxの両方で、shスクリプトはdirectory /etc/rc.d
に存在します。通常、デーモンごとに1つのスクリプト、またはサブシステムごとに1つのスクリプトです。
たとえば、Slackwareは、/etc/rc.d/rc.httpd
システムの起動時に適切なタイミングで「start」の引数を使用して呼び出されるスクリプトでApache Webサーバーを起動します。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
、rootとして実行します。
Ubuntu 10.04では、GUIからいくつかのスタートアッププログラムを制御できます。
System→ Preferences→Startup Applications
1)キーボードのスーパーキーをタップします。2)「スタートアップアプリケーション」を検索します。3)無効にするプログラムを選択します。4)worxの場合、この回答のようにヒットします。