25 lines
455 B
Bash
Executable File
25 lines
455 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
data_dir="${BOSS_DATA_DIR:-.boss-data}"
|
|
pid_file="${BOSS_PID_FILE:-$data_dir/server.pid}"
|
|
|
|
if [[ ! -f "$pid_file" ]]; then
|
|
echo "No Boss PID file found."
|
|
exit 0
|
|
fi
|
|
|
|
pid="$(cat "$pid_file")"
|
|
if [[ -n "$pid" ]] && kill -0 "$pid" 2>/dev/null; then
|
|
kill "$pid"
|
|
for _ in {1..20}; do
|
|
if ! kill -0 "$pid" 2>/dev/null; then
|
|
break
|
|
fi
|
|
sleep 1
|
|
done
|
|
fi
|
|
|
|
rm -f "$pid_file"
|
|
echo "Boss server stopped."
|