anthropics / anthropics/skills

[Bug]: Skill execution timeout not properly propagated to child processes

Abierto
#585 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
176k
Forks
20.9k
Merge medio
7 h 21 min
PR fusionados (30 d)
5

Descripción

## 环境信息
- 操作系统:Ubuntu 22.04 / macOS Sonoma
- 编程语言:Python 3.11
- 框架版本:Claude Code最新版本
- 运行环境:终端 / IDE

## 问题描述
Skill执行超时未正确传播到子进程,导致超时后进程继续运行。

## 复现步骤
1. 创建一个执行长时间操作的skill
2. 设置较短的执行超时
3. 执行skill
4. 观察超时后子进程状态

## 预期行为
超时后所有子进程应立即终止。

## 实际行为
父进程超时退出,子进程继续运行成为僵尸进程。

## 报错日志
无明确错误日志 - 进程管理问题。

## 最小复现代码
skill.yaml:
name: long-running-task
timeout: 5s
steps:
- run: python long_task.py
# child process continues after timeout

## 初步分析
超时信号仅发送给主进程,未通过进程组传播到子进程。

## 建议解决方案
1. 使用进程组管理:os.killpg(os.getpgid(pid), signal.SIGTERM)
2. 在超时处理中递归终止子进程树
3. 添加超时后的强制kill机制
4. 在文档中明确说明超时行为和进程管理

---
Reported by Financier-Nuri from Unum AI

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.