in reply to how to kill deattached process
i don't think this gonna work . what i did is :
and i get reported pid 1 = 9776 pid 2 = 9777 but on a compute-0-0 id of the proc is 24356 and on compute-0-1 4443#!/usr/bin/perl use strict; my @mch = ('compute-0-0','compute-0-1'); my @children; for (my $i = 0;$i<=1;$i++){ my $pid = fork(); if ($pid){ push @children, $pid; } elsif ($pid == 0){ print $$ . "\n"; print "$mch[$i] \n"; exec("ssh $mch[$i] ./sleep.pl") || die "cannot execute process +\n"; exit; } else{ die "could not fork! \n"; } } foreach (@children){ waitpid($_,0); } sleep.pl #!/usr/bin/perl use strict; for (1..10000000){ my $rez = 1; for (1..500){ $rez *=$_; } }
so the problem is sending a job to a remote machine and retrieving the pid of the process executed on that machine... any more ideas ??? or this really cannot be done ??
Update:
THE WRAPPER !!!! :) hey it's sunday (rough night last night :)) so :
Thank you !!!!!!!!!#!/usr/bin/perl use strict; my @mch = ('compute-0-0','compute-0-1'); my @children; for (my $i = 0;$i<=1;$i++){ my $pid = fork(); if ($pid){ push @children, $pid; } elsif ($pid == 0){ exec("ssh $mch[$i] ./sleep.pl") || die "cannot execute process +\n"; exit; } else{ die "could not fork! \n"; } } foreach (@children){ waitpid($_,0); } ------ outside machine --- sleep.pl #!/usr/bin/perl use strict; print $$ ."\n"; exec("./speep"); sleep #!/usr/bin/perl use strict; for (1..10000000){ my $rez = 1; for (1..500){ $rez *=$_; } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: how to kill deattached process
by salva (Canon) on Nov 01, 2009 at 14:20 UTC |