여러 개의 독립적인 프로세스 시작

여러 개의 독립적인 프로세스 시작

for 루프를 사용하여 동시에 여러 프로세스를 시작하려고 합니다. 각각의 콘솔 창에서 생성되기를 원합니다. 지금까지 나는 다음을 가지고 있습니다 :

for i in {1..5}; do konsole -e "./program arg1 arg2"; done 

그러나 이것은 단지 하나씩 실행되는 것이므로 동시에 실행되기를 원합니다. "&"를 사용해 보았지만 루프에서 잘 작동하도록 할 수 없습니다.

답변1

&명령 끝에 추가하여 백그라운드 작업을 시작합니다. konsole다음과 같이 쓰면 루프가 백그라운드에서 시작됩니다.

for i in {1..5}; do
    konsole -e "./program arg1 arg2" &
done

아니면 한 줄로,

for i in {1..5}; do konsole -e "./program arg1 arg2" & done

이는 (및 개행 문자 및 기타 몇 가지) &와 같은 명령 종결자이므로;바꾸다;원래 거기에 있던 것.

시작된 백그라운드 작업이 완료될 때까지 스크립트가 기다리도록 하려면 wait끝에 다음을 추가하세요.

for i in {1..5}; do konsole -e "./program arg1 arg2" & done; wait

관련 정보