我想运行多个进程,其中每个进程都运行另一个进程,因此它将创建一个很长的进程分支。
我试过了:
$ bash -c '(bash -c "sleep 20"); sleep 20' &
$ pstree $(pgrep -fn bash)
它会创建父进程和一个子进程,但是有没有什么技巧或更简单的方法可以生成进一步的 10-20 个进程,而无需过多地处理语法?
答案1
您可以创建递归脚本。例如在文件中/tmp/run
#!/bin/bash
depth=${1:-5}
f(){
let depth--
if [ $depth -gt 0 ]
then $0 $depth
else sleep 10
fi
}
f
然后chmod +x /tmp/run
做/tmp/run 10
。