2

我管理 Unix 系统,有时,像 CGI 脚本这样的程序永远运行,有时会占用大量 CPU 时间并浪费资源。

我想要一个程序(通常从 cron 调用),它可以根据以下标准(结合 AND 和 OR)杀死这些失控者:

  • 名称(由正则表达式给出)
  • 使用的 CPU 时间
  • 经过时间(对于在 I/O 上被阻塞的程序)

我真的不知道在这种程序的搜索引擎中输入什么内容。我当然可以自己用 Python 编写它,但我很懒,可能已经存在一个好的程序?

(我没有用语言名称标记我的问题,因为 Perl 或 Ruby 中的程序或其他任何可以工作的程序)

4

3 回答 3

4

请尝试改用系统级配额强制执行。大多数系统将允许为不同的用户设置每个进程的 CPU 时间限制。

例子:

  1. Linux:/etc/security/limits.conf
  2. 自由BSD:/etc/login.conf

CGI 脚本通常可以在它们自己的用户 ID 下运行,例如mod_suid用于 Apache。

于 2008-12-21T11:51:27.747 回答
1

这可能更像您正在寻找的东西:

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

于 2009-09-30T06:00:21.833 回答
0

大多数类似 watchdig 的程序或库只是试图查看给定进程是否正在运行,所以我想说你最好自己编写,使用提供进程信息的现有库。

于 2008-12-21T11:31:33.387 回答