CONDOR_PROCD(1)
π CONDOR_PROCD π β the HTCondor Manual's take on tracking & managing process families
okay bestie, sit down, hydrate, and let me tell you about condor_procd, straight out of the HTCondor Manual. β¨
πΈ NAME πΈ
condor_procd β track and manage process families π«Ά
π SYNOPSIS π
condor_procd -h
condor_procd -A address-file [options ]
β¨ DESCRIPTION β¨
so basically condor_procd tracks and manages process families on behalf of the HTCondor daemons. like, it's the babysitter for whole family trees of processes. π³
It may track families of PIDs via relationships such as:
- direct parent/child
- environment variables
- UID
- supplementary group IDs
Management of the PID families include:
- registering new families or new members of existing families
- getting usage information
- signaling families for operations such as suspension, continuing, or killing the family
- getting a snapshot of the tree of families
π¨ real talk: in a regular HTCondor installation, this program is not intended to be used or executed by any human. it's giving "staff only" energy. π
The required argument, -A address-file, is the path and file name of the address file which is the named pipe that clients must use to speak with the condor_procd.
π OPTIONS π
-hβ Print out usage information and exit. the classic "help me pls" flag. π-Dβ Wait for the debugger. Initially sleep 30 seconds before beginning normal function. so it justβ¦ chills for 30 seconds first. iconic behavior honestly. π΄-Cprincipal β The principal is the UID of the owner of the named pipe that clients must use to speak to thecondor_procd. it's the vibe check on who's allowed to talk. π-Llog-file β A file thecondor_procdwill use to write logging information. receipts, basically. π§Ύ-Eβ When specified, another tool such as theprocd_ctltool must allocate the GID associated with a process. When this option is not specified, thecondor_procdwill allocate the GID itself. like, either someone else hands out the GIDs or it does it solo. no cap. ποΈ-PPID β If not specified, thecondor_procdwill use thecondor_procd's parent, which may not be PID 1 on Unix, as the parent of thecondor_procdand the root of the tracking family. When not specified, if thecondor_procd's parent PID dies, thecondor_procdexits. When specified, thecondor_procdwill track this PID family in question and not also exit if the PID exits. so yeah β no-Pmeans it's ride-or-die with its parent, and if parent goes, it goes too. π When you do pass-P, it tracks that family without ghosting you when the PID dips. π-Sseconds β The maximum number of seconds thecondor_procdwill wait between taking snapshots of the tree of families. Different clients to thecondor_procdcan specify different snapshot times. The quickest snapshot time is the one performed by thecondor_procd. When this option is not specified, a default value of 60 seconds is used. β±οΈ-Gmin-gid max-gid β If the-Eoption is not specified, then track process families using a self-allocated, free GID out of the inclusive range specified by min-gid and max-gid. This means that if a new process shows up using a previously known GID, the new process will automatically associate into the process family assigned that GID. If the-Eoption is specified, then instead of self-allocating the GID, theprocd_ctltool must be used to associate the GID with the PID root of the family. The associated GID must still be in the range specified. This is a Linux-only feature. π§-Kwindows-softkill-binary β This is the path and executable name of thecondor_softkill.exebinary. It is used to send softkill signals to process families. This is a Windows-only feature. πͺ
π¦ DEALING WITH SHORT READS π¦
okay so this part is the plot twist. π
For unknown reasons, on Linux, attemps to read the list of PIDs from the /proc filesystem do not always return all of the PIDs on the system. (yes, the manpage really says "attemps" β keeping it, we don't edit the source material π) The condor_procd attempts to detect when this occurs, using two methods.
Method one: If the list of PIDs does not include PID 1, the condor_procd's own PID, or the PID of the condor_procd's parent (which may be PID 1), then the list must be incomplete, and the condor_procd immediately retries the read. π
Method two: Additionally, the condor_procd compares the number of PIDs it just read to the number of PIDs from the last time it (successfully) checked. If the number is too much smaller, it immediately retries. The default threshold is 0.90, meaning that if the current read has 90% or fewer of the last read's PIDs, it's considered invalid. In our testing, this threshold was met by roughly 1 in 4000 reads, but successfully detected all real short reads. If you need to adjust the threshold, you may do so by setting the environment variable _CONDOR_PROCAPI_RETRY_FRACTION. (In the normal case, simply have it in the environment when the condor_master starts up.) π±
If a retried read is incomplete (according to either method), the condor_procd returns the results of the previous read. so like, worst case it gives you the old data instead of garbage. π«Ά
π GENERAL REMARKS π
This program may be used in a stand alone mode, independent of HTCondor, to track process families. The programs procd_ctl and gidd_alloc are used with the condor_procd in stand alone mode to interact with the daemon and to inquire about certain state of running processes on the machine, respectively. so yeah, it can do its own thing without the whole HTCondor entourage. πββοΈ
π EXIT STATUS π
condor_procd will exit with a status value of 0 (zero) upon success, and it will exit with the value 1 (one) upon failure. ate. π―
π 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.
and that's the whole page, bestie β no details skipped, no flags left behind. mwah. π«Ά
this chaos was brought to you by the HTCondor Manual, dated Oct 16, 2026 β go forth and track those process families. 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