17 lines
626 B
Bash
Executable File
17 lines
626 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# description: Send a signal to a detached background process.
|
|
# Args: <pid> [signal]
|
|
# signal: TERM (default), KILL
|
|
|
|
set -euo pipefail
|
|
|
|
pid="${1:?usage: process_signal <pid> [TERM|KILL]}"
|
|
signal="${2:-TERM}"
|
|
session="${OLLIE_SESSION_ID:?OLLIE_SESSION_ID not set}"
|
|
|
|
dbus-send --session --dest=org.ollie.SessionManager --type=method_call --print-reply \
|
|
/org/ollie/SessionManager org.ollie.SessionManager.SignalDetached \
|
|
"string:$session" "int32:$pid" "string:$signal" 2>&1 | grep -q 'boolean true' && \
|
|
echo "Signal $signal sent to PID $pid" || \
|
|
{ echo "Failed to signal PID $pid" >&2; exit 1; }
|