See/Count 一个脚本打开了多少子shell

See/Count how many subshells a script has opened

我遇到了一个脚本难题(或可能的 wsl2 内存泄漏)。

我是 运行 一个大脚本(循环需要 0.67 秒)

我的问题是循环时间在缓慢增加,内存使用也在缓慢增加,所以从 0.67 秒 / 0.9gig几个小时后内存到 1.20 秒/1.7gig

如果我重新启动 (stop/start),速度会再次上升,内存使用率会再次下降到 0.9..

我怀疑我的脚本会留下 运行 个子外壳,并且 我想知道是否有办法查看当前有多少个子外壳 运行?

哦,我是 运行 这个在 win10 Wsl2 Ubuntu

运行 ps 并仅显示父进程 ID 和进程 ID。将输出通过管道传输到 awk,将变量 pid 设置为给定的父进程 ID。其中第一个 space 分隔字段(父进程 ID)等于传递的 pid,打印进程 ID(字段 2)

ps -eo ppid,pid | awk -v pid=<pid> '==pid { print  }'