The batch utility shall read commands from standard input and schedule
them for execution in a batch queue. It shall be the equivalent of the
at -q b -m now
where queue b is a special at queue, specifically for batch jobs.
Batch jobs shall be submitted to the batch queue with no time constraints and
shall be run by the system using algorithms, based on unspecified factors,
that may vary with each invocation of batch.
Users shall be permitted to use batch if their name appears in the file
/usr/lib/cron/at.allow. If that file does not exist, the file
/usr/lib/cron/at.deny shall be checked to determine whether the user
shall be denied access to batch. If neither file exists, only a process
with the appropriate privileges shall be allowed to submit a job. If only
at.deny exists and is empty, global usage shall be permitted. The
at.allow and at.deny files shall consist of one user name per
The text files /usr/lib/cron/at.allow and /usr/lib/cron/at.deny
shall contain zero or more user names, one per line, of users who are,
respectively, authorized or denied access to the at and batch
The following environment variables shall affect the execution of batch:
Provide a default value for the internationalization
variables that are unset or null. (See the Base Definitions volume of
IEEE Std 1003.1-2001, Section 8.2, Internationalization
Variables for the precedence of internationalization variables used to
determine the values of locale categories.)
If set to a non-empty string value, override the values of
all the other internationalization variables.
Determine the locale for the interpretation of sequences of
bytes of text data as characters (for example, single-byte as opposed to
multi-byte characters in arguments and input files).
Determine the locale that should be used to affect the
format and contents of diagnostic messages written to standard error and
informative messages written to standard output.
Determine the format and contents for date and time strings
written by batch.
Determine the location of message catalogs for the
processing of LC_MESSAGES.
Determine the name of a command interpreter to be used to
invoke the at-job. If the variable is unset or null, sh shall be
used. If it is set to a value other than a name for sh, the
implementation shall do one of the following: use that shell; use
sh; use the login shell from the user database; any of the
preceding accompanied by a warning diagnostic about which was chosen.
Determine the timezone. The job shall be submitted for
execution at the time specified by timespec or -ttime relative to the timezone specified by the TZ variable.
If timespec specifies a timezone, it overrides TZ . If
timespec does not specify a timezone and TZ is unset or
null, an unspecified default timezone shall be used.
The following shall be written to standard error when a job has been
"job %s at %s\n",at_job_id, <date>
where date shall be equivalent in format to the output of:
date +"%a %b %e %T %Y"
The date and time written shall be adjusted so that they appear in the timezone
of the user (as determined by the TZ variable).
Neither this, nor warning messages concerning the selection of the command
interpreter, are considered a diagnostic that changes the exit status.
Diagnostic messages, if any, shall be written to standard error.
Early proposals described batch in a manner totally separated from
at, even though the historical model treated it almost as a synonym for
at-qb. A number of features were added to list and control
batch work separately from those in at. Upon further reflection, it was
decided that the benefit of this did not merit the change to the historical
The -m option was included on the equivalent at command because it
is historical practice to mail results to the submitter, even if all
job-produced output is redirected. As explained in the RATIONALE for
at, the now keyword submits the job for immediate execution
(after scheduling delays), despite some historical systems where atnow would have been considered an error.
Portions of this text are reprinted and reproduced in electronic form from IEEE
Std 1003.1, 2003 Edition, Standard for Information Technology -- Portable
Operating System Interface (POSIX), The Open Group Base Specifications Issue
6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics
Engineers, Inc and The Open Group. In the event of any discrepancy between
this version and the original IEEE and The Open Group Standard, the original
IEEE and The Open Group Standard is the referee document. The original
Standard can be obtained online at http://www.opengroup.org/unix/online.html