Я бы хотел автоматически убить команду через определенное время. Я имею в виду такой интерфейс:
% constrain 300 ./foo args
Который запускает «./foo» с «args», но автоматически убивает его, если он все еще работает через 5 минут.
Может быть полезно обобщить идею для других ограничений, таких как автоматическое уничтожение процесса, если он использует слишком много памяти.
Существуют ли какие-либо инструменты, которые это делают, или кто-нибудь написал такое?
ДОБАВЛЕНО: решение Джонатана - именно то, что я имел в виду, и оно работает как прелесть в Linux, но я не могу заставить его работать на Mac OSX. Я избавился от SIGRTMIN, который позволяет нормально его компилировать, но сигнал просто не отправляется дочернему процессу. Кто-нибудь знает, как заставить это работать на Mac?
[Добавлено: обратите внимание, что от Джонатана доступно обновление, которое работает на Mac и в других местах.]