Je voudrais tuer automatiquement une commande après un certain temps. J'ai en tête une interface comme celle-ci :
% constrain 300 ./foo args
Ce qui permet d'exécuter "./foo" avec "args" mais de le tuer automatiquement s'il est toujours en cours après 5 minutes.
Il pourrait être utile de généraliser l'idée à d'autres contraintes, comme l'arrêt automatique d'un processus s'il utilise trop de mémoire.
Existe-t-il des outils qui permettent de faire cela, ou quelqu'un a-t-il écrit un tel outil ?
AJOUTÉ : La solution de Jonathan est précisément ce que j'avais en tête et elle fonctionne comme un charme sous linux, mais je n'arrive pas à la faire fonctionner sous Mac OSX. Je me suis débarrassé du SIGRTMIN, ce qui permet de compiler sans problème, mais le signal n'est pas envoyé au processus enfant. Quelqu'un sait-il comment le faire fonctionner sur Mac ?
[Ajouté : Notez qu'une mise à jour est disponible auprès de Jonathan qui fonctionne sur Mac et ailleurs].
0 votes
Quelle est exactement votre question ?
0 votes
Oui, pour de vrai. Tu ne poses pas de question ici.
1 votes
Question similaire, réponses différentes : stackoverflow.com/questions/687948
1 votes
Lié à unix.stackexchange.com/questions/21542/
0 votes
Duplicata possible de Comment tuer un processus enfant après un délai donné en Bash ? Bien que cela demande des généralisations sur le corps de la question, le délai d'attente a dominé, et je pense qu'il serait mieux de demander une généralisation spécifique par question.