여러 계층적 가상 셸 프로세스(다른 프로세스의 프로세스 등)를 어떻게 실행합니까?

여러 계층적 가상 셸 프로세스(다른 프로세스의 프로세스 등)를 어떻게 실행합니까?

각 프로세스가 다른 프로세스를 실행하는 여러 프로세스를 실행하여 매우 긴 프로세스 분기를 생성하고 싶습니다.

나는 시도했다:

$ 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.

관련 정보