私は通常デーモンを起動または停止するためにまたはservice start/stop
を使用しますinitctl start/stop
が、今私が探しているのは、起動時にデーモンが起動しないように無効にする例ですmysqld
。
現在私がやっていることは名前/etc/init/mysql.conf
をに変更することです/etc/init/mysql.conf.bak
。しかし、これについて少し読んだ後、上記の作業のオプションを提供することがsystemd
わかりました。enable & disable
それでは、Ubuntu 12.04にも同様のことがありますかupstart
?
答え1
次のコマンドを実行してサービスを無効にできます。
sudo update-rc.d -f <service name> disable
マニュアルページ抜粋:
無効な [ S|2|3|4|5 ] オプションを使用して実行すると、update-rc.d は開始リンク名を同じシーケンス番号の停止リンクに変更し、既存のスクリプト /etc/init.d/name修正します。実行レベルリンク100から元のシーケンス番号を引く。
答え2
サービスを無効にして起動する正しい方法は、XX.overrideファイルを生成することです。
echo 'manual' > /etc/init/mysqld.override
このように、スタートアップサービスは自動的に起動しません。
答え3
@warl0ckの言葉が正しいです。この情報はUpstart文書によく文書化されています。http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting
具体的には:
Upstart 1.3では、オーバーレイファイルとマニュアルセクションを利用して、より簡単な方法で同じ結果を得ることができます[27]:
# echo "manual" >> /etc/init/myjob.override
次のようにして同じ効果を得ることができます。
# echo "manual" >> /etc/init/myjob.conf
ただし、上書きツールを使用すると、元の作業プロファイルをそのまま維持できます。
元の動作に戻すには、オーバーライドファイルを削除するか名前を変更します(または「.conf」ファイルからマニュアルセクションを削除します)。
答え4
/etc/rc2.d
目的の項目に移動して名前を変更してください。いいえ起動時に実行するには:「S」を「K」に変更(大文字)します(例S02mysql
:)K02mysql
。心が変わったら、ただ逆にしてください。 2 は実行レベルを参照すると考えられます。この場合、2はデフォルトのマルチユーザー実行レベルです。おそらく、これは毎日コンピュータを使用するために使用するほとんどのものがある場所です。
編集する:以下のJames O'Gormanのコメントを読んでください。