
Linuxで起動時にプログラムの実行を停止する方法supervisord
apache2などで管理できるように、起動時に一部のアプリケーションを削除したいと思います。
答え1
ディストリビューションに応じて、chkconfigまたはupdate-rc.dツールを使用してシステムサービスを有効/無効にします。
redhat/suse/mandrake スタイルシステムの場合:
sudo chkconfig apache2 off
Debian で:
sudo update-rc.d -f apache2 remove
詳しくは、該当するマニュアルページをご確認ください。
答え2
最新のUbuntuシステムといくつかの他のディストリビューションを使用している場合は、既存のinitスクリプトとupstartスクリプトの組み合わせを処理する必要があるかもしれません。他の答えには、初期化スクリプトの管理が含まれます。起動時にupstartサービスが開始されないようにする1つの方法は次のとおりです。
# 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→→PreferencesStartup Applications