批量任务跑久了,超时是家常便饭。但当超时真的发生,退出码显示124还是143、xargs报的错还是子进程自己的错——这些细节很多人搞不清楚。搞不清楚就没法针对性修复,只能干瞪眼。本文就来把这套逻辑彻底理顺。
先弄清退出码是谁的
理解xargs子进程退出码的前提,是分清楚三层身份:xargs本身、子进程、子进程里跑的真正命令。
一个典型的超时场景:
echo "1 2 3" | xargs -P 3 timeout 2 sleep
这里的结构是:xargs → timeout...
子进程
-
2026.07.15 | youres | 3次围观

