Changeset 120 for trunk/oarutils
- Timestamp:
- Dec 19, 2015, 2:31:48 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/oarutils/oar-parexec
r119 r120 265 265 $job_stderr = "2> $stderr-$job_name.stderr" if $stderr ne '' and $switchio; 266 266 267 my $job_nodefile = "/tmp/oar-parexec-$ENV{LOGNAME}-$ENV{OAR_JOB_ID}-$job_name"; 268 my $job_pidfile = "/tmp/oar-parexec-$ENV{LOGNAME}-$ENV{OAR_JOB_ID}-$job_name.pid"; 267 my $job_nodefile = "/tmp/oar-parexec-$ENV{LOGNAME}-$ENV{OAR_JOB_ID}-$job_name"; 268 my $job_pidfile = "/tmp/oar-parexec-$ENV{LOGNAME}-$ENV{OAR_JOB_ID}-$job_name.pid"; 269 my $job_statusfile = "/tmp/oar-parexec-$ENV{LOGNAME}-$ENV{OAR_JOB_ID}-$job_name.status"; 269 270 270 271 $scheduled{$job_pid} = { … … 295 296 } 296 297 298 $fh->print("echo 0 > $job_statusfile\n"); 297 299 $fh->print("(\n"); 298 300 $fh->print("$job_cmd\n"); 299 $fh->print(") $job_stdout $job_stderr \&\n");301 $fh->print(") $job_stdout $job_stderr || echo \$? > $job_statusfile \&\n"); 300 302 $fh->print("while [ \$(jobs -p | wc -l) -gt 0 ]\n"); 301 303 $fh->print("do\n"); … … 303 305 $fh->print("done\n"); 304 306 307 $fh->print("OAR_SUBJOB_RETCODE=\$(cat $job_statusfile)\n"); 308 $fh->print("rm -f $job_statusfile\n"); 305 309 $fh->print("rm -f $job_pidfile\n") if $sig_transmit; 306 310 $fh->print("rm -f $job_nodefile\n") if $job_np > 1; 307 $fh->print("exit \n");311 $fh->print("exit \$OAR_SUBJOB_RETCODE\n"); 308 312 cede; 309 313 } … … 316 320 # non blocking PID test 317 321 if (waitpid($job_pid, WNOHANG)) { 322 # get return status code 323 my $job_retcode0 = $? >> 8; 324 #print "ERREUR0 $job_pid $job_retcode0\n" if $job_retcode0; 325 318 326 my $msg = sprintf "end job %${job_name_maxlen}s / %5i at %s oar job %i on node %s\n", 319 327 $scheduled{$job_pid}->{name}, 320 328 $job_pid, time, $ENV{OAR_JOB_ID}, $scheduled{$job_pid}->{ressource}; 329 330 # Job error 331 $msg =~ s/^end\s+job/error:$job_retcode0 job/ 332 if $job_retcode0 > 0 and $job_retcode0 != 99; 321 333 322 334 # Job non finish, just suspend if received checkpoint signal
Note: See TracChangeset
for help on using the changeset viewer.