언제든지 10개의 부분만 병렬로 실행되도록 하면서 100개의 부분으로 스크립트를 실행해야 합니다.
아래 스크립트는 100개의 프로세스를 모두 동시에 트리거합니다.
for i in {1..100}
do
nohup ksh my_background_script.ksh -mod ${i} &
done
답변1
xargs
GNU에는 일반적으로 사용되는 두 가지 도구가 있습니다 parallel
.
xargs
이전 버전이며 일반적으로 기본적으로 설치되지만 더 제한적입니다. 다음과 같이 사용할 수 있습니다.seq 1 100 | xargs -P 10 -I {} nohup ksh my_background_script.ksh -mod {} &
-P 10
10개의 프로세스를 병렬로 실행하도록 지시 합니다.GNU는
parallel
많은 시스템에 기본적으로 설치되지는 않지만 모든 GNU/Linux 시스템에서 쉽게 사용할 수 있어야 하며 다음과 같이xargs
사용할 수 있습니다(세부 사항은 실행 중인 항목에 따라 다름).parallel -j 10 nohup ksh my_background_script.ksh -mod ::: {1..100}
두 프로그램 및 각각의 용도에 대한 자세한 내용은 여기에서 확인할 수 있습니다.GNU 병렬 대 &(배경을 의미함) 대 xargs -P