如何从脚本本身中找到一个bash脚本的子进程数?
要获得bash脚本的PID,可以使用变量$$.
然后,要获得孩子,你可以运行:
bash_pid=$$ children=`ps -eo ppid | grep -w $bash_pid`
ps将返回父PID列表.然后grep过滤与bash脚本的子项无关的所有进程.为了得到你可以做的孩子的数量:
num_children=`echo $children | wc -w`
实际上,你将获得的数字将被关闭1,因为ps将是bash脚本的孩子.如果您不想将ps作为孩子的执行计数,那么您可以通过以下方式修复:
let num_children=num_children-1
更新:为了避免调用grep,可能会使用以下语法(如果ps的已安装版本支持):
num_children=`ps --no-headers -o pid --ppid=$$| wc -w`
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。