我想在一段时间后自动终止命令。我想到了这样的界面:
% constrain 300 ./foo args
它将与“ args”一起运行“ ./foo”,但如果它在5分钟后仍在运行,则会自动将其杀死。
将想法推广到其他约束可能很有用,例如,如果进程使用过多的内存,则自动杀死该进程。
是否有现有的工具可以做到这一点,或者有人编写过这样的东西?
补充:乔纳森(Jonathan)的解决方案正是我所想到的,它在Linux上像魅惑一样工作,但是我无法在Mac OSX上使用它。我摆脱了SIGRTMIN,它可以很好地进行编译,但是信号只是不会发送到子进程。有人知道如何在Mac上执行此操作吗?
[添加:请注意,乔纳森(Jonathan)提供了可在Mac和其他地方使用的更新。
桃花长相依