pbs_runjob man page
pbs_runjob — run a pbs batch job
int pbs_runjob(int connect, char *job_id, char *location, char *extend)
int pbs_asyrunjob(int connect, char *job_id, char *location, char *extend)
Issue a batch request to run a batch job.
For pbs_runjob() a "Run Job" batch request is generated and sent to the server over the connection specified by connect which is the return value of pbs_connect(). The server will reply when the job has started execution unless file in-staging is required. In that case, the server will reply when the staging operations are started.
For pbs_asyrunjob() an "Asynchronous Run Job" request is generated and set to the server over the connection. The server will validate the request and reply before initiating the execution of the job. This version of the call can be used to reduce latency in scheduling, especially when the scheduler must start a large number of jobs.
These requests requires that the issuing user have operator or administrator privilege.
The argument, job_id, identifies which job is to be run it is specified in the form: sequence_number.server
The argument, location, if not the null pointer or null string, specifies the location where the job should be run. The location is the name of a host in the the cluster managed by the server.
The argument, extend, is reserved for implementation defined extensions.
qrun(8B), qsub(1B), and pbs_connect(3B)
When the batch request generated by the pbs_runjob() or pbs_asyrunjob() functions has been completed successfully by a batch server, the routines will return 0 (zero). Otherwise, a non zero error is returned. The error number is also set in pbs_errno.