34 lines
943 B
Bash
Executable File
34 lines
943 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eu -o pipefail
|
|
|
|
if [[ ${EUID} -ne 0 ]]; then
|
|
echo "This script should be run as root." > /dev/stderr
|
|
exit 1
|
|
fi
|
|
|
|
if [[ $# -eq 0 ]]; then
|
|
echo "No arguments supplied"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ "$1" == "--check" ]]; then
|
|
echo "OK"
|
|
exit 0
|
|
fi
|
|
|
|
task_id="$1"
|
|
|
|
if [[ "${task_id}" == "all" ]]; then
|
|
systemctl list-units --full --no-legend box-task-* # just to show who was running
|
|
systemctl kill --signal=SIGTERM box-task-* || true
|
|
systemctl reset-failed box-task-* 2>/dev/null || true
|
|
systemctl stop box-task-* || true # because of remain-after-exit in Ubuntu 16 we have to deactivate the service
|
|
echo "All tasks stopped"
|
|
else
|
|
readonly service_name="box-task-${task_id}"
|
|
systemctl kill --signal=SIGTERM "${service_name}" || true
|
|
systemctl stop "${service_name}" || true # because of remain-after-exit in Ubuntu 16 we have to deactivate the service
|
|
echo "${service_name} stopped"
|
|
fi
|