Fix resh-daemon-stop fallbacks

pull/195/head v3.0.0-rc2
Simon Let 3 years ago
parent 30b254cf30
commit 494f36cd1c
  1. 35
      scripts/resh-daemon-stop.sh

@ -1,31 +1,34 @@
#!/usr/bin/env sh #!/usr/bin/env sh
set -eu
failed_to_kill() { q=0
[ "${1-}" != "-q" ] && echo "Failed to kill the RESH daemon - it probably isn't running" [ "${1-}" != "-q" ] || q=1
}
xdg_pid() { xdg_pid() {
local path="${XDG_DATA_HOME-}"/resh/daemon.pid local path="${XDG_DATA_HOME-}"/resh/daemon.pid
[ -n "${XDG_DATA_HOME-}" ] && [ -f "$path" ] || return 1 [ -n "${XDG_DATA_HOME-}" ] && [ -f "$path" ] || return 1
cat "$path" cat "$path"
rm "$path"
} }
default_pid() { default_pid() {
local path=~/.local/share/resh/daemon.pid local path=~/.local/share/resh/daemon.pid
[ -f "$path" ] || return 1 [ -f "$path" ] || return 1
cat "$path" cat "$path"
rm "$path"
} }
legacy_pid() {
local path=~/.resh/resh.pid
[ -f "$path" ] || return 1
cat "$path"
}
pid=$(xdg_pid || default_pid || legacy_pid)
if [ -n "$pid" ]; then kill_by_pid() {
[ "${1-}" != "-q" ] && printf "Stopping RESH daemon ... (PID: %s)\n" "$pid" [ -n "$1" ] || return 1
kill "$pid" || failed_to_kill [ "$q" = "1" ] || printf "Stopping RESH daemon ... (PID: %s)\n" "$1"
else kill "$1"
[ "${1-}" != "-q" ] && printf "Stopping RESH daemon ...\n" }
killall -q resh-daemon || failed_to_kill kill_by_name() {
fi [ "$q" = "1" ] || printf "Stopping RESH daemon ...\n"
killall -q resh-daemon
}
failed_to_kill() {
[ "$q" = "1" ] || echo "Failed to kill the RESH daemon - it probably isn't running"
return 1
}
kill_by_pid "$(xdg_pid)" || kill_by_pid "$(default_pid)" || kill_by_name || failed_to_kill

Loading…
Cancel
Save