33 lines
909 B
Bash
Executable File
33 lines
909 B
Bash
Executable File
#!/bin/bash
|
|
# Mock für pgrep - steuert Prozess-Erkennung
|
|
# pgrep -c: gibt Anzahl aus, Exit-Code 0 wenn >0, sonst 1
|
|
|
|
MOCK_DIR="$(cd "$(dirname "$0")/../fixtures" && pwd)"
|
|
MOCK_STATE_FILE="${MOCK_DIR}/pgrep_state"
|
|
|
|
if [[ -f "${MOCK_STATE_FILE}" ]]; then
|
|
# shellcheck source=/dev/null
|
|
source "${MOCK_STATE_FILE}"
|
|
fi
|
|
|
|
# Default: kein Prozess läuft
|
|
PGREP_MATCH_COUNT="${PGREP_MATCH_COUNT:-0}"
|
|
|
|
# -c flag: count matches (prüft ob -c in den Flags enthalten ist)
|
|
if [[ "$*" == *"-c"* ]] || [[ "$*" == *"-ifcx"* ]] || [[ "$*" == *"-c "* ]]; then
|
|
echo "${PGREP_MATCH_COUNT}"
|
|
# Exit-Code wie echtes pgrep: 0 wenn Treffer, 1 wenn keine Treffer
|
|
[[ "${PGREP_MATCH_COUNT}" -gt 0 ]]
|
|
exit $?
|
|
fi
|
|
|
|
# Normaler Aufruf: PIDs zurückgeben
|
|
if [[ "${PGREP_MATCH_COUNT}" -gt 0 ]]; then
|
|
for i in $(seq 1 "${PGREP_MATCH_COUNT}"); do
|
|
echo $((1000 + i))
|
|
done
|
|
exit 0
|
|
fi
|
|
|
|
# Keine Treffer
|
|
exit 1 |