Commande en ligne de commande à l'auto-tuer une commande après un certain laps de temps

J'aimerais tuer automatiquement une commande après un certain laps de temps. J'ai à l'esprit une interface comme ceci:

% constrain 300 ./foo args

Qui irait à l' "./foo" par "args" mais automatiquement le tuer si il est toujours en cours après 5 minutes.

Il pourrait être utile de généraliser l'idée à d'autres contraintes, telles que les autokilling un processus s'il utilise trop de mémoire.

Existe-t-il des outils qui font ça, ou quelqu'un a écrit une telle chose?

AJOUTÉ: Jonathan solution est précisément ce que j'avais dans l'esprit, et il fonctionne comme un charme sur linux, mais je ne peux pas le faire fonctionner sur Mac OSX. Je me suis débarrassé de la SIGRTMIN qui permet de compiler amende, mais le signal n'est pas envoyé dans le processus enfant. Quelqu'un sait comment faire ce travail sur Mac?

[Ajouté: Notez qu'une mise à jour est disponible à partir de Jonathan qui fonctionne sur Mac et ailleurs].

InformationsquelleAutor dreeves | 2009-03-02