Provided by: gridengine-drmaa-dev_6.2u5-7.3_amd64 bug


       drmaa_job_ps, drmaa_control, - Monitor and control jobs


       #include "drmaa.h"

       int drmaa_job_ps(
              const char *job_id,
              int *remote_ps,
              char *error_diagnosis,
              size_t error_diag_len

       int drmaa_control(
              const char *jobid,
              int action,
              char *error_diagnosis,
              size_t error_diag_len


       The  drmaa_job_ps() function returns the status of the Sun Grid Engine job job_id into the
       integer pointed to by remote_ps. Possible return values are

              DRMAA_PS_UNDETERMINED        job status cannot be determined
              DRMAA_PS_QUEUED_ACTIVE       job is queued and active
              DRMAA_PS_SYSTEM_ON_HOLD      job is queued and in system hold
              DRMAA_PS_USER_ON_HOLD        job is queued and in user hold
              DRMAA_PS_USER_SYSTEM_ON_HOLD job is queued and in user and system hold
              DRMAA_PS_RUNNING             job is running
              DRMAA_PS_SYSTEM_SUSPENDED    job is system suspended
              DRMAA_PS_USER_SUSPENDED      job is user suspended
              DRMAA_PS_DONE                job finished normally
              DRMAA_PS_FAILED              job finished, but failed

       Jobs' user hold and user suspend states  can  be  controlled  via  drmaa_control(3).   For
       affecting system hold and system suspend states the appropriate Sun Grid Engine interfaces
       must be used.

       The drmaa_control() function applies control operations on Sun Grid  Engine  jobs.   jobid
       may contain either an Sun Grid Engine jobid or `DRMAA_JOB_IDS_SESSION_ALL' to refer to all
       jobs submitted during the DRMAA session opened  using  drmaa_init(3).   Legal  values  for
       action and their meanings are:

              DRMAA_CONTROL_SUSPEND        suspend the job
              DRMAA_CONTROL_RESUME         resume the job,
              DRMAA_CONTROL_HOLD           put the job on-hold
              DRMAA_CONTROL_RELEASE        release the hold on the job
              DRMAA_CONTROL_TERMINATE      kill the job

       The  DRMAA  suspend/resume operations are equivalent to the use of `-sj <jobid>' and `-usj
       <jobid>' options with Sun Grid Engine qmod(1).   The  DRMAA  hold/release  operations  are
       equivalent  to  the  use  of  Sun  Grid  Engine qhold(1) and qrls(1).  The DRMAA terminate
       operation is equivalent to the use of Sun Grid Engine qdel(1).  Only user  hold  and  user
       suspend  can  be  controlled  via  drmaa_control(3).  For affecting system hold and system
       suspend states the appropriate Sun Grid Engine interfaces must be used.


       SGE_ROOT       Specifies the location of the Sun Grid Engine standard configuration files.

       SGE_CELL       If set, specifies the default Sun Grid Engine cell to be used. To address a
                      Sun Grid Engine cell Sun Grid Engine uses (in the order of precedence):

                             The name of the cell specified in the environment variable SGE_CELL,
                             if it is set.

                             The name of the default cell, i.e. default.

                      If set, specifies that debug information should be written  to  stderr.  In
                      addition  the  level  of  detail in which debug information is generated is

                      If set, specifies the tcp port  on  which  sge_qmaster(8)  is  expected  to
                      listen  for communication requests.  Most installations will use a services
                      map entry instead to define that port.


       Upon    successful    completion,    drmaa_job_ps(),    and     drmaa_control()     return
       DRMAA_ERRNO_SUCCESS.  Other  values  indicate an error. Up to error_diag_len characters of
       error related diagnosis information is then provided in the buffer, error_diagnosis.


       The drmaa_job_ps(), and drmaa_control() will fail if:

       Unexpected or internal DRMAA error, like system call failure, etc.

       Could not contact DRM system for this request.

       The specified request was not processed successfully due to authorization failure.

       The input value for an argument is invalid.

       Failed because there is no active session.

       Failed allocating memory.

       The specified job does not exist.

       The drmaa_control() will fail if:

       The job is not suspended. The resume request will not be processed.

       The job is not running and thus cannot be suspended.

       The job cannot be moved to a hold state.

       The job is not in a hold state.


       drmaa_submit(3)and drmaa_wait(3).