# condor_run¶

Submit a shell command-line as an HTCondor job

## Synopsis¶

condor_run [-u universe] [-a submitcmd] “shell command”

## Description¶

condor_run bundles a shell command line into an HTCondor job and submits the job. The condor_run command waits for the HTCondor job to complete, writes the job’s output to the terminal, and exits with the exit status of the HTCondor job. No output appears until the job completes.

Enclose the shell command line in double quote marks, so it may be passed to condor_run without modification. condor_run will not read input from the terminal while the job executes. If the shell command line requires input, redirect the input from a file, as illustrated by the example

$condor_run "myprog < input.data"  condor_run jobs rely on a shared file system for access to any necessary input files. The current working directory of the job must be accessible to the machine within the HTCondor pool where the job runs. Specialized environment variables may be used to specify requirements for the machine where the job may run. CONDOR_ARCH Specifies the architecture of the required platform. Values will be the same as the Arch machine ClassAd attribute. CONDOR_OPSYS Specifies the operating system of the required platform. Values will be the same as the OpSys machine ClassAd attribute. CONDOR_REQUIREMENTS Specifies any additional requirements for the HTCondor job. It is recommended that the value defined for CONDOR_REQUIREMENTS be enclosed in parenthesis. When one or more of these environment variables is specified, the job is submitted with: 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.

## Options¶

-u universe

Submit the job under the specified universe. The default is vanilla. While any universe may be specified, only the vanilla, scheduler, and local universes result in a submit description file that may work properly.

-a submitcmd

Add the specified submit command to the implied submit description file for the job. To include spaces within submitcmd, enclose the submit command in double quote marks. And, to include double quote marks within submitcmd, enclose the submit command in single quote marks.

## Examples¶

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:

$export CONDOR_ARCH="SUN4u"$ export 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"  or $ condor_run "make"


or



## Exit Status¶

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.