|Specifies the architecture of the required platform. Values will be the same as the Arch machine ClassAd attribute.|
|Specifies the operating system of the required platform. Values will be the same as the OpSys machine ClassAd attribute.|
|Specifies any additional requirements for the HTCondor job. It is recommended that the value defined for CONDOR_REQUIREMENTS be enclosed in parenthesis.|
Requirements = $CONDOR_REQUIREMENTS && Arch == $CONDOR_ARCH && \
OpSys == $CONDOR_OPSYS
Without these environment variables, the job receives the default requirements expression, which requests a machine of the same platform as the machine on which condor_run is executed.
All environment variables set when condor_run is executed will be included in the environment of the HTCondor job.
condor_run removes the HTCondor job from the queue and deletes its temporary files, if condor_run is killed before the HTCondor job completes.
Submit the job under the specified universe. The default is vanilla. While any universe may be specified, only the vanilla, standard, scheduler, and local universes result in a submit description file that may work properly.
condor_run may be used to compile an executable on a different platform. As an example, first set the environment variables for the required platform:
% setenv CONDOR_ARCH "SUN4u"
% setenv CONDOR_OPSYS "SOLARIS28"
Then, use condor_run to submit the compilation as in the following three examples.
% condor_run "f77 -O -o myprog myprog.f"
% condor_run "make"
% condor_run "condor_compile cc -o myprog.condor myprog.c"
condor_run creates the following temporary files in the users working directory. The placeholder <pid> is replaced by the process id of condor_run .
A shell script containing the shell command line.
The submit description file for the job.
The HTCondor jobs log file; it is monitored by condor_run , to determine when the job exits.
The output of the HTCondor job before it is output to the terminal.
Any error messages for the HTCondor job before they are output to the terminal. condor_run removes these files when the job completes. However, if condor_run fails, it is possible that these files will remain in the users working directory, and the HTCondor job may remain in the queue.
condor_run is intended for submitting simple shell command lines to HTCondor. It does not provide the full functionality of condor_submit . Therefore, some condor_submit errors and system failures may not be handled correctly.
All processes specified within the single shell command line will be executed on the single machine matched with the job. HTCondor will not distribute multiple processes of a command line pipe across multiple machines.
condor_run will use the shell specified in the SHELL environment variable, if one exists. Otherwise, it will use /bin/sh to execute the shell command-line.
By default, condor_run expects Perl to be installed in /usr/bin/perl . If Perl is installed in another path, ask the Condor administrator to edit the path in the condor_run script, or explicitly call Perl from the command line:
% perl path-to-condor/bin/condor_run "shell-cmd"
condor_run exits with a status value of 0 (zero) upon complete success. The exit status of condor_run will be non-zero upon failure. The exit status in the case of a single error due to a system call will be the error number ( errno ) of the failed call.
Center for High Throughput Computing, University of Wisconsin-Madison
Copyright (C) 1990-2015 Center for High Throughput Computing, Computer Sciences Department, University of Wisconsin-Madison, Madison, WI. All Rights Reserved. Licensed under the Apache License, Version 2.0.