[260507] x-cmd v0.9.3:新增 kill tree 递归杀死进程树!timeout/tmo 模块独立,支持外层子 shell 精确管理
[260507] x-cmd v0.9.3:新增 kill tree 递归杀死进程树!timeout/tmo 模块独立,支持外层子 shell 精确管理
- timeout/tmo 独立成为模块,支持命令超时控制和外层子 shell 精确管理
- bfind/tlfz 独立成为模块,支持更清晰的文件搜索定位与 fzf 交互浏览
- ps/kill 新增 tree 子命令,一键遍历或杀死进程及其所有子进程
- humantime tosec 新增小数秒支持
🚀 x-cmd v0.9.3 更新详情
advise 💡
新增x advise spec模块 —— 用 AI 快速生成模块或脚本的 advise.yml。
写模块文档是个耗时的活儿,advise spec 直接帮你搞定。
只需要描述模块做什么,它就能生成符合规范的 advise.yml,省去来回调整格式的麻烦。
core ⚙️
修复pidofsubshell_在非 bash/zsh 环境下的 bug。tmo 和 service 模块都依赖它,这次修了好几个模块都受益。
timeout ⏱️
x timeout独立成为模块,之前是内部实现。
它是系统timeout命令的便携封装,自动处理 busybox/cosmo 回退,支持信号选择、超时后强制终止、详细模式等。
之前曾尝试支持--function和--subshell,但这两个功能后来被剥离——--function因为 shell 函数中 trap 行为不可靠,--subshell则移到了 tmo 模块。
tmo ⏱️
x tmo独立成为模块,源自 timeout 模块的--subshell功能。
tmo 的核心是子 shell 超时控制。之前用 fp 文件在 worker 和 watchdog 之间传递 pid 和指纹,文件 I/O 和 uuid 生成开销不小;后来改成外层 subshell 局部变量直接传递,省去了文件操作,逻辑也更清晰。--function功能最终被放弃——在 shell 函数里 trap 的行为太难控制,不同调用场景下表现不一。
humantime ⏰
humantime tosec现在支持小数秒,比如1.5s、0.5m都能正确转换。
之前在 bash3、dash、ash 等不支持 $(()) 小数的环境下只能处理整数,现在来来回回改了好几轮,终于在各种环境下都能正常工作了。
bfind 🔍
x bfind从 x-cmd core 独立成为模块。
之前是核心命令集的一部分,现在单独拎出来,提供更清晰的文件搜索定位功能。
tlfz 🎯
x tlfz从x tdlr模块独立出来。
fzf 风格的模糊搜索功能,这次作为独立模块提供,职责更单一,配置也更灵活。
ps 📊
新增x ps tree子命令,用 BFS 遍历显示进程树。
这个功能是为 kill tree 准备的——杀死进程树需要先知道完整的进程层级。
kill 💀
新增x kill tree子命令,递归杀死进程及其所有子进程。
这个功能是为 x tmo 准备的——tmo 杀掉子 shell 时需要把整个进程树清理干净,否则会留下孤儿进程。
⬆️ 如何升级
现有用户可以通过以下命令快速切换至 Beta 版本进行体验:
x upgrade beta如果你没有安装 x-cmd, 只需要打开你的终端:
eval"$(curlhttps://get.x-cmd.com)"x-cmd 是一个一站式的命令行工具集,其强大的功能可以为人类用户和AI共同使用。它还简化了很多工具的安装方法。
马上安装,让 x-cmd 协同 AI 成为你的最强助手,实现生产力翻倍!
🤝 开发者反馈
如果您在自定义配置或代理设置中遇到任何疑问,欢迎前往 GitHub Issues 提交反馈,共同完善 X-CMD 生态。
