CONDOR_SUBMIT(1)
β¨ NAME β¨
condor_submit β okay so this is the HTCondor Manual, and this icon right here is the program that queues your jobs for execution under HTCondor. π
π SYNOPSIS π
condor_submit [-terse ] [-verbose ] [-unused ] [-file submit_file]
[-name schedd_name] [-remote schedd_name] [-addr <ip:port>] [-pool
pool_name] [-disable ] [-password passphrase] [-debug ] [-append command
...][-batch-name batch_name] [-spool ] [-dump filename] [-interactive ]
[-factory ] [-allow-crlf-script ] [-dry-run file] [-maxjobs
number-of-jobs] [-single-cluster ] [<submit-variable>=<value> ] [submit
description file ] [-queue queue_arguments]
πΈ DESCRIPTION πΈ
okay so real talk: condor_submit is the program for submitting jobs for execution under HTCondor. That's the whole job. That's the assignment and she ate. π₯
She needs one or more submit description commands to direct the queuing of jobs. Those commands can come from a file, from standard input, from the command line, or from some little combination of all of the above. Mix and match, bestie, she's flexible. π
One single submit description can contain specifications for queuing many HTCondor jobs at once, all chillin' in a job cluster. A cluster is a set of jobs specified in the submit description before the queue command. And like, submitting multiple jobs as a single cluster is genuinely advantageous, because then you can manage every single job in that cluster with a single condor_rm, or condor_q command. One text, whole group chat handled. π
The job ClassAd attribute ClusterId identifies a cluster. (iykyk)
The submit description file argument is the path and file name of the submit description file. Cute. But if this optional argument is the dash character (-), then the commands are taken from standard input. And heads up: if - is specified for the submit description file, -verbose is implied β but you can override that by specifying -terse. She's got range. β¨
If no submit description file argument is given, and no -queue argument is given, commands are taken automatically from standard input. No notes, she just does it.
π Note that submission of jobs from a Windows machine requires a stashed password to allow HTCondor to impersonate the user submitting the job. To stash a password, use the condor_store_cred command. See the manual page for details. (Do not skip this step, bestie, it's giving required.)
For lengthy lines within the submit description file, the backslash (\) is a line continuation character. Placing the backslash at the end of a line causes the current line's command to be continued with the next line of the file. πͺ
Submit description files may also contain comments. A comment is any line beginning with a pound character (#). Yes, the hashtag. Very on brand for us. π
π OPTIONS π
-terseβ Terse output, meaning she displays JobId ranges only. Short and sweet, lowkey. π-verboseβ Verbose output, meaning she displays the created job ClassAd. Maximally yappy, highkey. π£οΈ-unusedβ As a default, this causes no warnings to be issued about user-defined macros not being used within the submit description file. The meaning reverses (toggles) when the configuration variableWARN_ON_UNUSED_SUBMIT_FILE_MACROSis set to the non default value ofFalse. Printing the warnings can help identify spelling errors of submit description file commands. The warnings are sent tostderr. π-filesubmit_file β Use submit_file as the submit description file. This is equivalent to providing submit_file as an argument without the preceding-file.-nameschedd_name β Submit to the specifiedcondor_schedd. Use this option to submit to acondor_scheddother than the default local one. schedd_name is the value of theNameClassAd attribute on the machine where thecondor_schedddaemon runs. π¦-remoteschedd_name β Submit to the specifiedcondor_schedd, spooling all required input files over the network connection. schedd_name is the value of theNameClassAd attribute on the machine where thecondor_schedddaemon runs. This option is equivalent to using both-nameand-spool. Two-for-one, slay. β¨-addr<ip:port> β Submit to thecondor_scheddat the IP address and port given by the sinful string argument <ip:port>. (Yes, "sinful". We don't make the rules, we just abide by them. π)-poolpool_name β Look in the specified pool for thecondor_scheddto submit to. This option is used with-nameor-remote. Bestie team-up. π«Ά-disableβ Disable file permission checks when submitting a job for read permissions on all input files, such as those defined by commandsinputandtransfer_input_files, as well as write permission to output files, such as a log file defined bylogand output files defined withoutputortransfer_output_files.-debugβ Cause debugging information to be sent tostderr, based on the value of the configuration variableTOOL_DEBUG. π-appendcommand β Augment the commands in the submit description file with the given command. This command will be considered to immediately precede thequeuecommand within the submit description file, and come after all other previous commands. If the command specifies aqueuecommand, as in the example
condor_submit mysubmitfile -append "queue input in A, B, C"
then the entire -append command line option and its arguments are converted to
condor_submit mysubmitfile -queue input in A, B, C
The submit description file is not modified. Multiple commands are specified by using the -append option multiple times. Each new command is given in a separate -append option. Commands with spaces in them will need to be enclosed in double quote marks. π―
-batch-namebatch_name β Set the batch name for this submit. The batch name is displayed bycondor_q -batch. It is intended for use by users to give meaningful names to their jobs and to influence howcondor_qgroups jobs for display. Use of this argument takes precedence over a batch name specified in the submit description file itself. Naming your children is a sacred act, do it well. π₯Ή-spoolβ Spool all required input files, job event log, and proxy over the connection to thecondor_schedd. After submission, modify local copies of the files without affecting your jobs. Any output files for completed jobs need to be retrieved withcondor_transfer_data. Set it and (basically) forget it. π-dumpfilename β Sends all ClassAds to the specified file, instead of to thecondor_schedd.-interactiveβ Indicates that the user wants to run an interactive shell on an execute machine in the pool. This is equivalent to creating a submit description file of a vanilla universesleepjob, and then runningcondor_ssh_to_jobby hand. Without any additional arguments,condor_submitwith the-interactiveflag creates a dummy vanilla universe job that sleeps, submits it to the local scheduler, waits for the job to run, and then launchescondor_ssh_to_jobto run a shell. If the user would like to run the shell on a machine that matches a particular requirements expression, the submit description file is specified, and it will contain the expression. Note that all policy expressions specified in the submit description file are honored, but anyexecutableoruniversecommands are overwritten to besleepandvanilla. The job ClassAd attributeInteractiveJobis set toTrueto identify interactive jobs forcondor_startdpolicy usage. π₯-factoryβ Sends all of the jobs as a late materialization job factory. A job factory consists of a single cluster classad and a digest containing the submit commands necessary to describe the differences between jobs. If theQueuestatement has itemdata, then the itemdata will be sent. Using this option is equivalent to using themax_materializesubmit command. π-allow-crlf-scriptβ Changes the check for an invalid line ending on the executable script's#!line from anERRORto aWARNING. The#!line will be ignored by Windows, so it won't matter if it is invalid; but Unix and Linux will not run a script that has a Windows/DOS line ending on the first line of the script. Socondor_submitwill not allow such a script to be submitted as the job's executable unless this option is supplied. π-dry-runfile β Parse the submit description file, sending the resulting job ClassAd to the file given by file, but do not submit the job(s). This permits observation of the job specification, and it facilitates debugging the submit description file contents. If file is-, the output is written tostdout. A little peek, no commitment. π-maxjobsnumber-of-jobs β If the total number of jobs specified by the submit description file is more than the integer value given by number-of-jobs, then no jobs are submitted for execution and an error message is generated. A0or negative value for the number-of-jobs causes no limit to be imposed. π«-single-clusterβ If the jobs specified by the submit description file causes more than a single cluster value to be assigned, then no jobs are submitted for execution and an error message is generated. One cluster only, no wiggle room. π<submit-variable>=<value>β Defines a submit command or submit variable with a value, and parses it as if it was placed at the beginning of the submit description file. The submit description file is not changed. To correctly parse thecondor_submitcommand line, this option must be specified without white space characters before and after the equals sign (=), or the entire option must be surrounded by double quote marks. No spaces, bestie, she will not forgive you. π-queuequeue_arguments β A command line specification of how many jobs to queue, which is only permitted if the submit description file does not have aqueuecommand. The queue_arguments are the same as may be within a submit description file. The parsing of the queue_arguments finishes at the end of the line or when a dash character (-) is encountered. Therefore, its best placement within the command line will be at the end of the command line. β¨
On a Unix command line, the shell expands file globs before parsing occurs. π
π§ SUBMIT DESCRIPTION FILE COMMANDS π§
For the full list of submit description file commands, see htcondor-jdl(1). Go check it out, she's thorough. π
β EXIT STATUS β
condor_submit will exit with a status value of 0 (zero) upon success, and a non-zero value upon failure. That's it, that's the vibe check. πΈ
β¨ EXAMPLES β¨
Okay bestie, here's where it gets fun β actual submit files you can copy-paste and feel like a genius π
- Submit Description File Example 1: This little icon queues up 150 runs of the program
foo. HTCondor will not even attempt to run the processes on machines that have less than 32 Megabytes of physical memory, and it'll run them on machines with at least 64 Megabytes, if such machines are available. Stdin, stdout and stderr will point atin.0,out.0anderr.0for the first run of this program (that's process 0). Stdin, stdout and stderr will point atin.1,out.1anderr.1for process 1, and so on and so on. And there's a log file containing entries about where and when HTCondor runs, transfers file, if it's evicted, and when it terminates, among other things β all the various processes in this cluster get written into the filefoo.log. Obsessed with the logging ngl β¨
####################
#
# Example 1: Show off some fancy features including
# use of pre-defined macros and logging.
#
####################
Universe = vanilla
Executable = foo
Rank = Memory >= 64
Request_Memory = 32 Mb
Request_Disk = 100 Gb
Error = err.$(Process)
Input = in.$(Process)
Output = out.$(Process)
Log = foo.log
Queue 150
- Submit Description File Example 2: This one targets the
/bin/sleepprogram and tells it to run only on a platform running a RHEL 9 operating system. The example presumes that the pool contains machines running more than one version of Linux, and this job needs that particular operating system to run correctly. Picky job, respect π
####################
#
# Example 2: Run on a RedHat 9 machine
#
####################
Universe = vanilla
Executable = /bin/sleep
Arguments = 30
Requirements = (OpSysAndVer == "RedHat9")
Request_Memory = 32 Mb
Request_Disk = 100 Gb
Error = err.$(Process)
Input = in.$(Process)
Output = out.$(Process)
Log = sleep.log
Queue
- Command Line example: The command below uses the
-appendoption to add two commands before the job(s) get queued. A log file and an error log file are specified. The submit description file itself stays completely untouched β¨
$ condor_submit -a "log = out.log" -a "error = error.log" mysubmitfile
Quick note bestie: each of the added commands sits inside quote marks, because there are space characters inside the command. Don't skip the quotes, fr fr π«Ά
- periodic_remove example: Say a job should be removed from the queue if the total suspension time of the job is more than half of the run time of the job. Including this command
periodic_remove = CumulativeSuspensionTime >
((RemoteWallClockTime - CumulativeSuspensionTime) / 2.0)
in the submit description file makes exactly that happen. Math ate that π
π GENERAL REMARKS π
- For security reasons, HTCondor will refuse to run any jobs submitted by user
root(UID = 0) or by a user whose default group is groupwheel(GID = 0). Jobs submitted by userrootor a user with a default group ofwheelwill appear to sit forever in the queue in an idle state. Just... sitting there. Ghosted by the scheduler π - All path names specified in the submit description file must be less than 256 characters in length, and command line arguments must be less than 4096 characters in length; otherwise,
condor_submitgives a warning message but the jobs will not execute properly. So like, heed the warning, it's not a vibe π - Somewhat understandably, behavior gets bizarre if the user makes the mistake of requesting multiple HTCondor jobs to write to the same file, and/or if the user alters any files that need to be accessed by an HTCondor job which is still in the queue. For example, compressing data or output files before an HTCondor job has completed is a common mistake. Please don't do crimes against your own job π«Ά
tl;dr: one job, one file, no chaos. The queue is not a group project π
π SEE ALSO π
π AUTHOR π
HTCondor Team
π COPYRIGHT π
1990-2026, Center for High Throughput Computing, Computer Sciences Department, University of Wisconsin-Madison, Madison, WI, US. Licensed under the Apache License, Version 2.0.
That's the whole page bestie, you made it to the end of CONDOR_SUBMIT(1) β this is from the Oct 16, 2026 revision of the HTCondor manual, sourced from the HTCondor docs. Now go queue something iconic and slay, periodt πβ¨π¦
π¦ where this page comes from
- fedora 43: condor 25.14.1-1.fc43 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms