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 *=$_; } }
In reply to Re: how to kill deattached process
by baxy77bax
in thread how to kill deattached process
by baxy77bax
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |