商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何用ulimit限制脚本执行时间

如何用ulimit限制脚本执行时间

  发布于2026-07-15 阅读(0)

扫一扫,手机访问

ulimit 这个工具,本质上是一个用来控制 shell 进程资源消耗的命令行工具。虽然它不能直接“掐表”限制脚本跑了多久,但通过设置 CPU 时间或者进程数这类资源上限,完全可以间接地把脚本的执行时间框在一个范围内。具体怎么操作?下面一步步拆解。

如何用ulimit限制脚本执行时间

第一步,打开终端,没什么好说的。

第二步,用 ulimit 命令设置 CPU 时间限制。比如你想让脚本最多只能跑 10 秒的 CPU 时间(注意,不是墙上的时钟时间,而是 CPU 实际占用的时间),那就敲:

ulimit -t 10

这个设置会影响到当前 shell 会话里所有后续启动的进程——也就是说,在你运行脚本之前设好它,整个会话里的程序都得遵守这个 10 秒的 CPU 时间上限。一旦超过,系统就会发信号把它干掉。

第三步,运行你的脚本。假设脚本叫 my_script.sh,直接执行:

./my_script.sh

如果脚本内部的 CPU 消耗超过了 10 秒,进程就会被终止,活儿自然就停了。

第四步(可选),如果你希望脚本自己管自己,那就在脚本开头加上一行资源限制的代码,像这样:

#!/bin/bash
ulimit -t 10

这样一来,脚本一旦启动,就会给自己套上 10 秒 CPU 时间的紧箍咒。不过得提醒一句,这种方法并不是在所有 shell 环境下都管用,取决于你的系统配置和 shell 版本。

总而言之,ulimit 确实能间接限制脚本的执行时间,核心思路就是通过控制 CPU 时间或进程数来达到目的。需要留个心眼的是:这些限制都是针对整个 shell 会话或脚本本身的,而不是精细到某一个命令或某一段程序。如果只是想限制脚本里某个子进程,那就得另想办法了。

本文转载于:https://www.yisu.com/ask/48909431.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注