눈바래다

#!/usr/bin/perl

use strict;

 

MAIN: {

 my ($i, $pid);

 my @numbers=(2,3,8,9,5);

 

 foreach $i (@numbers) {

 

  $pid=fork(); #자식 프로세스는 마치 부모 프로세스와 같은 실행과정을 거친 것처럼 부모 프로세스와 같은 위치에서 스크립트실행을 재개한다

                #함수 fork() 반환값은 부모 프로세스와 달리 0 된다

  if($pid == 0) {

   #child

   sleep $i;

   print $i . ",";

   exit 0;

  }else {

   print "forked pid = " . $pid . "\n";

  }

 }

 

 while (1) {

  if ( wait() == -1){ #모든 자식 프로세스가 완료되면 wait() -1 반환한다

   print "Done... \n";

   exit 0;

  }

 }

}

 

#fork() 자식프로세스를 생성하고 프로세스 ID 반환한다