citrixfedora

citrix-stop.sh

Beëindigt alle actieve Citrix-processen en ruimt UDS-sockets op. Zie ook: Citrix Workspace op Linux

Gebruik

chmod +x citrix-stop.sh
./citrix-stop.sh

Script

#!/bin/bash

PATTERNS=(
    wfica
    icasessionmgr
    UtilDaemon
    ctxwebhelper
    ctxaudio
    ctxusb
    adapter
    selfservice
    receiver
    storebrowse
    AuthManagerDaemon
)

stopped=0

for pattern in "${PATTERNS[@]}"; do
    pids=$(pgrep -f "/opt/Citrix/ICAClient/.*${pattern}" 2>/dev/null)
    if [[ -n "$pids" ]]; then
        echo "Stoppen: $pattern (PID: $pids)"
        kill $pids 2>/dev/null
        stopped=$((stopped + 1))
    fi
done

# Geef processen even de tijd om netjes te stoppen
sleep 2

# Controleer of er nog processen over zijn en forceer stop
for pattern in "${PATTERNS[@]}"; do
    pids=$(pgrep -f "/opt/Citrix/ICAClient/.*${pattern}" 2>/dev/null)
    if [[ -n "$pids" ]]; then
        echo "Forceer stop: $pattern (PID: $pids)"
        kill -9 $pids 2>/dev/null
    fi
done

# Ruim UDS sockets op
rm -f /home/dexter/.ICAClient/UDS/wficasession_* 2>/dev/null

if [[ $stopped -eq 0 ]]; then
    echo "Geen actieve Citrix-processen gevonden."
else
    echo "Klaar."
fi