BindsTo will kill all the tasks when systemctl stop box is executed. But when restarted, it keeps the tasks running. Because of this behavior, we kill the tasks on startup and stop of the box code.
30 lines
598 B
Bash
Executable File
30 lines
598 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 cloudron-task-* # just to show who was running
|
|
systemctl kill --signal=SIGTERM cloudron-task-* || true
|
|
else
|
|
readonly service_name="cloudron-task-${task_id}"
|
|
systemctl kill --signal=SIGTERM "${service_name}" || true
|
|
fi
|
|
|