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 <https://computing.llnl.gov/linux/slurm/>.
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)