• ベストアンサー

無限ループをkill

春原 なの(@ymda)の回答

  • ベストアンサー
回答No.5

次に、sokuさんが、そのサーバーの管理者(root)であるとして説明します。 通常でしたら、ps の出力で、無限ループしているかというのは CPU実行時間等で確認できるのですが、 それ以外のも、uptime コマンドの数字で知ることができます。 uptimeコマンドで出力される Load avagage が、ある一定以上のあたいになるということは 大概、何かのスクリプトが暴走しているという可能性が大きいです。 そこで、Load avagage が一定の数字を超えているのを確認できれば Apache 自体を再起動してしまえば、安全に暴走プロセスを 停止させることができます。

関連するQ&A

  • 無限ループ

    今のプログラムが無限ループになる。しかも乱数を使っているので9割以上は正常で1割未満の確率で無限ループになるようです。 netbeans5.5でアプレットで実行は「ファイルを実行」(shift-F6)でやっています。なんとか無限ループになっている箇所を探す方法を教えてください。

  • 無限ループについて(while true~)

    たびたびお世話になります。 管理しているサーバーとデータベースの接続確認を、30分に一度行っているのですが、この際に入力していたコマンドが無限ループから抜け出すことができなくなってしまいました。 入力していたコマンドは、while true; do ./aaa.sh ; sleep 1800; doneです。 30分に一度、aaa.shを起動させて接続を確認する、というつもりで入力していたものなのですが…。 無限ループに気付き、プロセスをrootからkill(-kill) しても復活(?)してしまうようです。 このままでは問題があるため、なんとか無限ループを抜け出したいのですが、いい方法はありませんでしょうか? OSはLinuxです。 申し訳ありませんが、初心者中の初心者のため、必要な情報があまりわかりません。不足がありましたら、補足要求お願いします。

  • MS Exchangeの転送が無限ループに

    お世話になっております。 現在、社内でMS Exchangeを使用しており、そのメールを携帯電話に転送しております。そこで問題が起こったのですが、配信不能レポートが戻ってきた時に、設定した送信先に送信せずにサーバ側で自動的にアドレスを削除する方法(もしくは送信しない方法)はありますでしょうか。それができずにメールが無限にループしてしまい、サーバダウンすることがあります。 お手数をおかけしますが宜しくお願いいたします。

  • 無限ループ対策

    プログラミングのデバッグ時、無限ループに入ってしまい、プログラムを強制終了することもままならなくなることがあります。 CPUのリソースを完全に使っているために、こちらの入力を受け付けなくなると思うのですが、 マルチCPU環境ではどういった状態になるのでしょうか? 無限ループは起こらないのでしょうか? さらに、デュアルコアCPUの場合はどうなのでしょうか? 無限ループのもどかしさから開放されるならPCを新調しようと思うのですが、 何かご存知の方教えてください。よろしくお願いします。

  • 無限ループとループ文

    プログラミングにおいて while文、for文、foreach文などループ文は種類がありますが 無限ループに繋がってしまう恐れが高い順などは存在しますか? どのループ文もミスなく慎重に 正確な書き方さえしていれば無限ループは起きないと思いますが もしそのような順が存在するのであれば、わからないので教えて頂きたいです。

  • 無限ループ対策について

    私が管理しているCentOS5.4のサーバに各種プログラムを作成した上でアップロードし動作させた所、私のプログラムミスが原因で無限ループしてしまう事がたびたびあります。 その際は、http://chain.main.jp/weblog/archives/2005/06/post_40.htmlのような方法で対応しているのですが、レンタルサーバーなどをみていると、このような手動の方法ではなく、自動で止めているのではと思いました。 その為、そのような方法を私が管理しているCentOS5.4のサーバに適用したいと思ったのですが、どのようにすればそのような事が出来るのかわからなかったので、アドバイスいただける方がいらっしゃいましたら、ご教示の程よろしくお願いします 以上、よろしくお願いします。

  • 指定プログラムのプロセスを監視・killするには?

    CGIが不正終了(もしくは無限ループ)して、CPUに負担をかけ続けることで悩んでいます。 topコマンドで負担をかけているプロセスを発見してkillすることは可能ですが、これを自動で実行するようなことはできないでしょうか。 cronを使って1分間に1度チェックし、3分以上同じプロセスが動いている場合にkillしたり、もしくは不具合の起こる特定のプログラム(hoge.cgi等)を監視してkillするということができるようにしたいのです。 自分で考えたのは「top -n 1」で出力して、3分間同じプロセスがCPUに負担をかけ続けている場合にkillできるようにphpなどでプログラミングすることでしたが、もっと簡単にできるような方法がありますでしょうか。

  • メールサーバの無限ループを対策する方法

    メールサーバの無限ループを対策する方法について教えてください。 環境:Linux メールサーバ:sendmail とあるサイトでsendmailで無限ループを対策する方法として ヘッダに識別できるIDなどを追加してループしてるかを判断すると書かれておりました。 この設定はどうのようにすればよいのでしょうか。 m4マクロで形式でヘッダの項目を記入したいとおもってます。 sendmail.cfに直接書くことでヘッダに追加されることは確認しましたが sendmail.mcでの書き方がわかりません。 また、ヘッダに追加した識別IDをどのようにループと判断するように設定すればよいか わかりません、なにか参考になるサイトや設定方法などわかる方教えて頂けますか?

  • 無限ループ

    元日に発生した能登半島地震で家族を亡くした遺族の方のニュースを見て、胸が痛むと同時にこんな事をふと思い付きました。 自分の愛する家族。 自分にとって大切な家族が、不幸にも、事故や災害で亡くなってしまったとします。 当然それは受け入れ難い事です。 もしかしたら、後を追って自らも命を投げ出してしまう人もいるかもしれません。 そんな絶望の淵にいるあなたの所に、神様でも悪魔でもなく不思議な生命体が現れ、再び愛する家族に会わせてくれると言いました。 それはどういう事かと言うと、愛する家族が亡くなったその日に戻り、無限にその日を繰り返すというものです。 ですので、その日に何が起こるか既に分かっているあなたは、その災いから家族を守る事が出来ます。 しかし、その日が終わると、また同じ日の朝に戻るという無限ループが待っています。 家族を失った悲しみからは解放されますが、決してその日から先に進む事は出来ず、いずれ神経が参る事でしょう。 仮にそれであなたが自らを命を絶ったとしても、その瞬間、また同じ朝に戻ります。 こうなってしまっては、この無限ループに身を置いている事そのものがもはや生き地獄のようなものです。 この無限ループから抜け出す唯一の方法は、元々その日に起こった通りのままでその日を終える事。 つまりそれは、あなたが再び家族を失う事です。 そこで質問です。 もしもあなたが家族を事故や災害で亡くした時に、上記に記した不思議な生命体がこんな無限ループの中で再び家族に会わせてくれるとしたらあなたは受け入れますか? それとも、家族を失ったその絶望の淵にいる今を受け入れて、一歩一歩前に進む道を選びますか?

  • RTOSの無限ループ

    itron等のRTOSではタスク登録すれば while(1){ 処理; } という無限ループを抜けられるじゃないですか? いったいどういう仕組みで抜けているのでしょうか? ソフト的にはどうあがいても無限ループなわけで・・。 どなたか教えてください。