Citrix op linux, en nu weet ik niet zeker of dit enkel op KDE zo is en niet op bijvoorbeeld Gnome, heeft de nare eigenschap bij sluiten van de sessie, de processen open te laten. Hierdoor , als je de citrix sessie start, deze eindeloos blijft laden. Het onderstaand script beëindigt alle actieve Citrix-processen en ruimt UDS-sockets op. (/software/icaclient/)
#!/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
chmod +x citrix-stop.sh
./citrix-stop.sh