sub processor{ my @row; while (1){ if ($sys_ok){ @row = &row_sql("select * from pool_process where srv='$server_id';"); if (!(@row)){ #print "Nothing to do...\n"; }else{ &del_sql("delete from pool_process where id='@row[0]';"); print "Processing (@row[1],@row[2],@row[3],@row[4])\n"; #my $thr = threads->create(\&process_start,@row[1],@row[2],@row[3],@row[4],@row[5]); $child_processor++; my $pid = $pm->start($child_processor) and next; &process_start(@row[1],@row[2],@row[3],@row[4],@row[5]); print "Child about to get out ($$)\n"; system("kill $$"); $pm->finish($child_processor); # Terminates the child process print "Finished Child!"; } sleep(2); }else{ sleep(30); } #$pm->wait_all_children; } }