next up previous contents index
Next: condor_ stats Up: 9. Command Reference Manual Previous: condor_ rm   Contents   Index

Subsections


condor_ run

Submit a shell command-line as a Condor job

Synopsis

condor_ run [-u universe] "shell command"

Description

condor_ run bundles a shell command line into a Condor job and submits the job. The condor_ run command waits for the Condor job to complete, writes the job's output to the terminal, and exits with the exit status of the Condor 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 Condor 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 Condor 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 Condor job.

condor_ run removes the Condor job from the queue and deletes its temporary files, if condor_ run is killed before the Condor 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, standard, scheduler, and local universes result in a submit description file that may work properly.

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:

% 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"
or
% condor_run "make"
or
% condor_run "condor_compile cc -o myprog.condor myprog.c"

Files

condor_ run creates the following temporary files in the user's working directory. The placeholder <pid> is replaced by the process id of condor_ run.

.condor_run.<pid>
A shell script containing the shell command line.
.condor_submit.<pid>
The submit description file for the job.
.condor_log.<pid>
The Condor job's log file; it is monitored by condor_ run, to determine when the job exits.
.condor_out.<pid>
The output of the Condor job before it is output to the terminal.
.condor_error.<pid>
Any error messages for the Condor 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 user's working directory, and the Condor job may remain in the queue.

General Remarks

condor_ run is intended for submitting simple shell command lines to Condor. 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. Condor 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"

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.

Author

Condor Team, University of Wisconsin-Madison

Copyright

Copyright © 1990-2007 Condor Team, Computer Sciences Department, University of Wisconsin-Madison, Madison, WI. All Rights Reserved. No use of the Condor Software Program is authorized without the express consent of the Condor Team. For more information contact: Condor Team, Attention: Professor Miron Livny, 7367 Computer Sciences, 1210 W. Dayton St., Madison, WI 53706-1685, (608) 262-0856 or miron@cs.wisc.edu.

U.S. Government Rights Restrictions: Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of Commercial Computer Software-Restricted Rights at 48 CFR 52.227-19, as applicable, Condor Team, Attention: Professor Miron Livny, 7367 Computer Sciences, 1210 W. Dayton St., Madison, WI 53706-1685, (608) 262-0856 or miron@cs.wisc.edu.

See the Condor Version 6.8.7 Manual for additional notices.


next up previous contents index
Next: condor_ stats Up: 9. Command Reference Manual Previous: condor_ rm   Contents   Index
condor-admin@cs.wisc.edu