2

私はUnixシステムを管理しており、CGIスクリプトなどのプログラムが永久に実行され、CPU時間を大量に消費し、リソースを浪費することがあります。

次の基準(ANDとORの組み合わせ)に基づいて、これらの暴走を殺すことができるプログラム(通常はcronから呼び出されます)が必要です。

  • 名前(正規表現で指定)
  • 使用されたCPU時間
  • 経過時間(I / Oでブロックされているプログラムの場合)

この種のプログラムの検索エンジンに何を入力すればよいのか、私にはよくわかりません。私は確かにPythonでそれを自分で書くことができましたが、私は怠惰で、すでに良いプログラムが存在する可能性がありますか?

(PerlやRubyなどのプログラムでも機能するため、質問に言語名のタグを付けませんでした)

4

3 に答える 3

4

代わりに、システムレベルのクォータ強制を使用してみてください。ほとんどのシステムでは、さまざまなユーザーにプロセスごとのCPU時間制限を設定できます。

例:

  1. Linux:/etc/security/limits.conf
  2. FreeBSD:/etc/login.conf

mod_suidCGIスクリプトは通常、Apacheを使用するなど、独自のユーザーIDで実行できます。

于 2008-12-21T11:51:27.747 に答える
1

これは、あなたが探していたものにもっと似ているかもしれません:

http://devel.ringlet.net/sysutils/timelimit/

于 2009-09-30T06:00:21.833 に答える
0

ウォッチディグのようなプログラムやライブラリのほとんどは、特定のプロセスが実行されているかどうかを確認しようとしているだけなので、プロセス情報を提供する既存のライブラリを使用して、独自のプロセスを作成することをお勧めします。

于 2008-12-21T11:31:33.387 に答える