给长脚本戴“紧箍咒”:青龙面板三招限定时长
脚本一跑就停不下来?青龙只管“点火”,不管“灭火”。给它加个运行时长上限,到点自动退出,既防死循环,又省资源。下面三招,按“懒人程度”排序:① 容器级超时(最懒)
一句话:命令前加timeout ,到点直接杀。
timeout 300s node /ql/scripts/xxx.js
日志会打印Killed ,退出码 124,方便通知捕获。
Alpine 先装coreutils : apk add coreutils
② 脚本内部自检(最通用)
一句话:脚本里自己倒计时,到点process.exit() 。
JavaScript 示例:
js
const MAX = 290 * 1000; // 290 秒
setTimeout(() => {
console.log('>>> 时长到,自己退场 <<<');
process.exit(0);
}, MAX);
Python 示例:
python
import sys, threading
def quit():
print('>>> 时长到,自己退场 <<<')
sys.exit(0)
threading.Timer(290, quit).start()
③ PM2 级(少改青龙配置)
一句话: pm2 start app.js --kill-timeout 5000
适合长期守护进程,但青龙默认参数不易注入,①/② 更香。
✅ 用法小结
面板任务命令写:
bash
timeout 300s node /ql/scripts/xxx.js
或脚本头部加倒计时,零依赖,任何镜像都能用。
限定时长,脚本不再“赖床”!
页:
[1]