Befehlszeilenbefehl zum automatischen Beenden eines Befehls nach einer bestimmten Zeit

Möchte ich automatisch zu töten, ein Befehl nach einer gewissen Zeit. Ich habe im Hinterkopf eine Schnittstelle wie diese:

% constrain 300 ./foo args

Die laufen würde "./foo" mit "args" aber automatisch zu töten, wenn es noch läuft nach 5 Minuten.

Könnte es sinnvoll sein, die Verallgemeinerung der Idee zu anderen Einschränkungen, wie autokilling ein Prozess, wenn es zu viel Speicher verwendet.

Gibt es bereits tools, die das tun, oder hat jemand geschrieben, so ein Ding?

HINZUGEFÜGT: Jonathan Lösung ist genau das, was ich im Sinn hatte, und es funktioniert wie ein Charme auf linux, aber ich kann nicht damit es funktioniert auf Mac OSX. Ich entledigte sich die SIGRTMIN, die können es kompilieren in Ordnung, aber das signal einfach nicht zugestellt bekommen, wird der Kind-Prozess. Wer weiß, wie diese Arbeit zu machen auf Mac?

[Hinzugefügt: Beachten Sie, dass ein update verfügbar ist von Jonathan, der arbeitet auf Mac und anderswo.]

InformationsquelleAutor der Frage dreeves | 2009-03-02

Schreibe einen Kommentar