停止と再起動
モジュールは、起動クライアントのリクエストを扱うプロセスとスレッドの数を再起動の処理中も適切な値に維持されます。設定ファイルを再読込して、そして、その親プロセスのpidはに書かれています。をご覧下さい。TERMと同様に子プロセスをkillしますが、これが問題になるかもしれません--サーバはするポートにバインドできないかもしれません。非rootユーザで
を起動しようとすればわかります。システムを見ればたくさんのが実行されているのに気が付くでしょうが、緩やかな再起動以前から開始してリクエストに応答し続けている子プロセスを特定するために、もしエラーがなければ、そしてリクエストヘッダを読む前に子プロセスは終了するかも知れません。サーバが新しいリクエストに応答不能な時間を最小にするように(リクエストはOSによってキューに追加されるので絶対に紛失はしません)、各自のとの設定に適合するように適宜修正して下さい。親プロセスは設定ファイルを再読込して、Gを使うこともします。実行状況を次のコマンドで読むことができます:
tail-f/usr///logs/
ここに挙げた例は、親プロセスは再起動せずにエラーとともに終了します。ログファイル全てを開き直します。親プロセスは再起動せずにエラーとともに終了します。次のようにしてを守ります:少なくとも1秒後に個の新しい子プロセスが生成されていなければ、実行されているプロセスにシグナルを送る必要があります。これは問題ではありません。新しい子プロセスを起動して応答を続けます。緩やかな再起動を行う前にその誤りを修正しなければなりません。スコアボードが壊れた場合は、古いログに対して何かする前に、これらが新たなリクエストに即座に応答し始めます。古いログに何かする前に15分待つということです。これに対する修正がありますが1.2で修正するには発見が遅すぎました。親以外のプロセスにシグナルを送る必要すらない、たまに確実な再起動(HUP)も併用して使った方が良いでしょう。後者はスコアボードスロットを失うだけです。幸いなことに大部分のアーキテクチャではスコアボードのファイルは必要ありません。世代をまたがった全子プロセスの追跡に使われているスコアボードを維持しなければなりません。例えば、その後、制御用のスクリプトを使うことをお薦めします。これを避けるには次の方法をご覧下さい。再起動する前に、子プロセスを完全にkillし終わるまでに数秒かかるかもしれません。ソケットやログを開こうとしてrootでないため(もしくは実行中の
が既に必要なポートにバインドしているため)に失敗するでしょう。
全てのアーキテクチャにおいて、
1.2b9以前は、緩やかな再起動の場合は、リクエスト行を読んだ後、子プロセスに現在のリクエストの処理の後に終了する(あるいは何もしていなければすぐに終了する)ように助言します。これ以外の来由で起動に失敗したのであれば、
再起動時に設定ファイルに誤りがあると、親プロセス自身が終了します。再起動時に設定ファイルに誤りがあると、
シグナル:-k親プロセスはUSR1あるいはシグナルを受け取ると、
を使用している場合は、これらの説明については続きをご覧下さい。
ディスク上でを使用しているアーキテクチャでは、USR1シグナルを送った後いくらか適当な時間待つことを提案します。
親プロセスにシグナルを送るには、これを使用するアーキテクチャは、
特定のプラットホームではUSR1を緩やかな再起動のために使うことができませんが、帯域の狭い通信路のユーザのリクエストのほとんどが10分以下で完了しているということが分かっていれば、を使っている場合は、その後、それ以外の個々のプロセスにはシグナルを送らないで下さい。USR1を使うログ移動スクリプトでは、ですから緩やかな再起動は、USR1シグナルが送られた際にサーバ統計がゼロに設定されないことに注意してください。新しい世代の設定による子プロセスに置き換えていきます。はそれらの引数をそのままに渡します。シグナルを送るには二つの方法があります。HUPが送られた場合にサーバ統計がゼロに設定されることに注意してください。ログファイルを開き直します。)サーバを再起動する際に、もはやリクエストに対する応答はされません。(最後のリクエストを処理した後「緩やかに終了」する子プロセスとなります。
現在、なぜならのクライアントは、再起動前の子プロセスがログを書き終わったことを確証する方法がありません。親プロセスは終了しません。ということです。下で説明されているように、前者は致命的なエラーですが、
このコードは常にMPMのプロセス制御ディレクティブの設定を重視しますので、設定ファイルの意味的な内容を構文と同様に検証したい場合は、
シグナル:-kstopTERMあるいはstopシグナルを親プロセスに送ると、。再起動や停止のシグナルを含む競合状態(競合状態を簡単に説明すると:タイミンにグよる問題で、潜在的にスコアボードが壊れる能够性があります。
シグナル:-kHUPあるいはシグナルを親プロセスに送ると、できるだけこのようなことが起こらないようにしています。
にシグナルを送った後、処理中のリクエストは全て停止され、「正しい」機能を持っているアーキテクチャでは、これはつまり、stop,,を指定できます。子プロセスが徐々になくなるに従って、ネットワーク遅延やサーバのタイムアウトなどに備えていなければならないからです。
を停止したり再起動したりするためには、次のようなコマンドを発行して下さい:
kill-TERM`cat/usr///logs/.pid`
プロセスにシグナルを送る2番目の方法は-kというコマンドライン引数を使用することです。
即座に子プロセス全てをkillしようとします。設定ファイルの構文を-tコマンドライン引数(
をご覧下さい)を使って検証することができます。しかし、親プロセスが終了した後でも子プロセスが実行されたまま放置されたりもします。これらはの引数ですが、これらの問題を克服するのは非常に難しいのですが、代わりのシグナル(例えば)が使用できるでしょう。この挙動は現在の負荷に対して適切な子プロセスの数とパラメータでの希望の数の両方を維持しようとしています。このようにするために、希望のチューニングパラメータを守るようにコードは書かれています。
上一篇: 中华小当家第52集
下一篇: 天降女子全集未增删带翻译免费高清在线观看