A batch job is a predefined group of processing actions submitted to the system to be performed with little or no interaction between the user and the system. Jobs that do not require user interaction to run can be processed as batch jobs. A batch job typically is a low priority job and can require a special system environment in which to run.
Batch jobs run in the system background, freeing the user who submitted the job to do other work. Several batch jobs can be active at the same time.
The following list describes the different kinds of batch jobs:
- Simple batch job
- The simple batch job is a job that is submitted to a job queue. It waits in line with other batch jobs and is processed according to its priority and sequence number.
- Batch immediate job
- A batch immediate job is a batch job that was started with many of the attributes of its parent job. The job runs in the same subsystem as the parent job. (This is accomplished by using the spawn() API.) Because the job copies attributes from the parent job and does not go through a job queue, it can start faster than jobs submitted to a job queue.
- Batch MRT job
- A batch MRT job is a multiple requester terminal (MRT) job. MRT jobs are S/36 Environment jobs that act like servers, allowing other S/36 Environment jobs to attach to them in order to run an MRT procedure.
- Batch print job
- Batch print jobs track the printer output files (also called spooled files) that were created by a job whose current user profile is different from the user profile that it was started under.
Batch jobs can be started when a user:
- Causes a job to be placed in a job queue
- Issues a communication program start request
- Starts a subsystem with a prestart job
- Uses the spawn() API