Le Conseil de l'Expert
Simon
Expert SAS et fondateur.
« La macro killsess répond à une problématique bien connue des administrateurs et utilisateurs de serveurs mutualisés (comme Citrix ou Remote Desktop) : la session SAS "gelée" ou "fantôme". En exploitant l'utilitaire système taskkill, ce script permet de reprendre le contrôle sur son environnement sans solliciter le support informatique, tout en intégrant des garde-fous essentiels.
Recommandations et points de vigilance
Sécurité du PID (Process ID) : L'utilisation de la variable automatique &sysjobid est ici magistrale. Elle permet d'exclure la session active du processus de terminaison (/fi "PID ne &sysjobid"). Sans cette condition, la macro se "suiciderait" avant d'avoir pu nettoyer les autres sessions, ce qui rendrait l'outil inefficace.
Précision du ciblage : Le filtrage par WINDOWTITLE (titre de la fenêtre) associé au &sysuserid garantit que l'utilisateur ne ferme que ses propres sessions et uniquement celle portant le numéro spécifié. C'est une sécurité indispensable pour éviter de fermer accidentellement d'autres instances de SAS qui pourraient être en cours de calcul intensif en arrière-plan.
Contraintes d'exécution : Comme tout appel système via l'instruction X, cette macro requiert que l'option XCMD soit activée sur le serveur. De plus, son usage est strictement limité à Windows. Dans un environnement Linux ou SAS Viya, cette commande échouerait et devrait être remplacée par une combinaison de commandes ps -u et kill -9. »