Provided by: libslurm-dev_2.3.2-1ubuntu1_amd64 bug

NAME

       slurm_kill_job,      slurm_kill_job_step,     slurm_signal_job,     slurm_signal_job_step,
       slurm_terminate_job, slurm_terminate_job_step - Slurm job signal calls

SYNTAX

       #include <slurm/slurm.h>

       int slurm_kill_job (
            uint32_t job_id,
            uint16_t signal,
            uint16_t batch_flag
       );

       int slurm_kill_job_step (
            uint32_t job_id,
            uint32_t job_step_id,
            uint16_t signal
       );

       int slurm_signal_job (
            uint32_t job_id,
            uint16_t signal
       );

       int slurm_signal_job_step (
            uint32_t job_id,
            uint32_t job_step_id,
            uint16_t signal
       );

       int slurm_terminate_job (
            uint32_t job_id,
       );

       int slurm_terminate_job_step (
            uint32_t job_id,
            uint32_t job_step_id,
       );

ARGUMENTS

       batch_flag If non-zero then signal only the batch job shell.

       job_id Slurm job id number.

       job_step_id
              Slurm job step id number.

       signal Signal to be sent to the job or job step.

DESCRIPTION

       slurm_kill_job Request that a signal be sent to either the batch job shell (if  batch_flag
       is  non-zero)  or all steps of the specified job.  If the job is pending and the signal is
       SIGKILL, the job will be terminated immediately.  This function may only  be  successfully
       executed by the job's owner or user root.

       slurm_kill_job_step  Request  that a signal be sent to a specific job step.  This function
       may only be successfully executed by the job's owner or user root.

       slurm_signal_job Request that the specified signal be sent to all  steps  of  an  existing
       job.

       slurm_signal_job_step Request that the specified signal be sent to an existing job step.

       slurm_terminate_job  Request  termination  of  all  steps  of an existing job by sending a
       REQUEST_TERMINATE_JOB rpc to all  slurmd  in  the  the  job  allocation,  and  then  calls
       slurm_complete_job().  slurm_signal_job_step Request that terminates a job step by sending
       a  REQUEST_TERMINATE_TASKS  rpc  to  all  slurmd  of  a   job   step,   and   then   calls
       slurm_complete_job_step()  after  verifying  that all nodes in the job step no longer have
       running tasks from the job step.  (May take over 35 seconds to return.)

RETURN VALUE

       On success, zero is returned. On error, -1 is  returned,  and  Slurm  error  code  is  set
       appropriately.

ERRORS

       SLURM_PROTOCOL_VERSION_ERROR Protocol version has changed, re-link your code.

       ESLURM_DEFAULT_PARTITION_NOT_SET the system lacks a valid default partition.

       ESLURM_INVALID_JOB_ID the requested job id does not exist.

       ESLURM_JOB_SCRIPT_MISSING the batch_flag was set for a non-batch job.

       ESLURM_ALREADY_DONE the specified job has already completed and can not be modified.

       ESLURM_ACCESS_DENIED  the  requesting  user  lacks  authorization for the requested action
       (e.g. trying to delete or modify another user's job).

       ESLURM_INTERCONNECT_FAILURE failed to configure the node interconnect.

       SLURM_PROTOCOL_SOCKET_IMPL_TIMEOUT Timeout in communicating with SLURM controller.

NOTE

       These functions are included in the libslurm library, which must be linked to your process
       for use (e.g. "cc -lslurm myprog.c").

COPYING

       Copyright  (C)  2002  The  Regents  of the University of California.  Produced at Lawrence
       Livermore National Laboratory (cf, DISCLAIMER).  CODE-OCEC-09-009. All rights reserved.

       This  file  is  part  of  SLURM,  a  resource  management  program.   For   details,   see
       <http://www.schedmd.com/slurmdocs/>.

       SLURM  is  free  software; you can redistribute it and/or modify it under the terms of the
       GNU General Public License as published by the Free Software Foundation; either version  2
       of the License, or (at your option) any later version.

       SLURM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
       even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       GNU General Public License for more details.

SEE ALSO

       scancel(1), slurm_get_errno(3), slurm_perror(3), slurm_strerror(3)