2015-01-14 7 views
0

나는 sleep 및 usleep 명령에 대해 이미 잘 알고 있습니다. 하지만 이전 명령의 시작 시간과 관련하여 일정한 지연이있는 병렬 명령에이 명령을 사용하는 방법을 잘 모릅니다. 이 같은 일이 (n은 1이 자신의 시작 시간 사이에 지연이와 병렬로 실행 해야하는 명령) 의미 :사이에 특정 지연이있는 병렬 bash 명령

Command 1's start time: 0 
Command 2's start time: 0+d 
Command 3's start time: 0+2d 
. 
. 
. 
Command n's start time: 0+(n-1)d 
+0

몇 개의 작업이 있습니까? 그리고 당신은 어떤 종류의 연기를 계획하고 있습니까? –

답변

2

당신은 단지 당신이 간단하게 할 수 셸에서 백그라운드에서이를 실행하는 경우 명령을 시작한 후에 각 루프를 잠자 게하십시오.

for cmd in cmd1 cmd2 ... cmdN; do 
    eval ${cmd} & 
    sleep ${d} 
done 
+0

아마도 인수와 옵션을 처리하기 위해 명령을 따옴표로 묶어야한다는 경고가 표시 될 수 있습니다. 또는'$ ($ {cmd}) '를 사용하여 실행을 수행 할 수 있지만 덜 세련된 방법입니다. – ShellFish

+0

@ShellFish 좋은 지적. 나는 일반적으로 bash 답변을 느리게 작성한 다음 Gilles 또는 Stephane이 나중에 수정하여 일정을 수정한다고 가정합니다. :) – dg99