2

我正在尝试使用ulimitbash shell 的一项功能来限制允许程序运行的时间。例如,我试过这个:

 $   ( ulimit -t 1; ./a.out ) 

但它不起作用。它让./a.out程序运行直到它停止(5 秒)。有人知道怎么做吗?顺便说一句,我尝试-Hulimit命令行中包含 a ,但它只是给出了这个错误:

bash: ulimit: cpu time: cannot modify limit: Operation not permitted

谢谢。

4

1 回答 1

8

ulimit不能限制程序运行时间,只能限制CPU时间。如果您有GNU Coreutils,则可以改用timeout命令:

timeout 1s ./a.out

这将kill在一秒钟后执行您的程序。-s您可以使用or指定要发送的信号--signal,例如

timeout --signal=HUP 1s ./a.out
于 2013-10-02T17:19:44.993 回答