Unix Kill Process
- Type de tâche :
ssh_killprocess
La tâche Unix Kill Process permet de terminer un processus via PID (Process ID), en exécutant l'opération sur la machine locale (mode Default) ou sur un serveur distant via SSH.
Elle permet d'arrêter les processus en cours d'exécution sur les systèmes Unix/Linux.
Configuration
La configuration définit le mode d'exécution (local ou distant) et les paramètres nécessaires pour identifier le processus à terminer. Les champs peuvent être valorisés manuellement ou via paramètres et variables du flux de travail.
Connexion au serveur
- Mode de connexion : Définit la source des identifiants utilisés pour la connexion. Il peut prendre trois modes d'opération :
- Default : La commande est exécutée depuis la machine locale.
- Manuel : Permet d'entrer manuellement les paramètres de connexion.
- Environment : Utilise un environnement de connexion préconfiguré. Dans ce mode, un menu est affiché listant les connexions disponibles en fonction du rôle associé au Workflow.
- Adresse IP : Adresse IP du serveur distant.
- Nom d'hôte : Nom d'hôte du serveur distant.
- Utilisateur : Nom d'utilisateur utilisé pour établir la connexion SSH.
- Mot de passe : Mot de passe associé à l'utilisateur de connexion.
- Port : Port utilisé pour la connexion SSH (la valeur par défaut est 22).
Exécuter la commande en tant qu'autre utilisateur
En activant cette case à cocher, il est possible d'effectuer la recherche avec un autre utilisateur que celui utilisé pour la connexion SSH.
- Utilisateur : Nom de l'utilisateur avec lequel la commande sera exécutée.
- Mot de passe : Mot de passe de l'utilisateur utilisé pour l'exécution de la commande.
Détails du processus
- Signal : Le signal de terminaison à envoyer au processus. Le choix du signal détermine la manière dont on demande au processus de s'arrêter :
- SIGTERM : (Par défaut) Signal de terminaison standard. Demande au processus de se fermer, lui permettant de compléter les opérations de nettoyage. C'est la méthode préférée.
- SIGKILL : Signal de terminaison forcé. Arrête immédiatement le processus sans lui donner la possibilité de faire le ménage. À utiliser lorsque SIGTERM ne fonctionne pas.
- SIGINT : Signal d'interruption (équivalent à appuyer sur Ctrl+C).
- SIGQUIT : Signal de "quit" du clavier.
- SIGHUP : Signal de "hang up", souvent utilisé pour faire recharger la configuration à un démon.
- PID Processus : Identifiant numérique (Process ID) du processus à terminer. Il est possible de spécifier plusieurs PID en les séparant par un espace.
Paramètres de sortie
À la fin de l'exécution, la tâche expose les paramètres de sortie suivants :
- result : Contient un message textuel décrivant le résultat de l'opération ou un message d'erreur (ex. “Missing server address”).
- resultJson : Représente le résultat de l'exécution de la tâche au format JSON, incluant des informations générales, les configurations et les détails sur l'exécution.
- exitStatus : Retourne le code de sortie de la commande kill exécutée sur le serveur distant. Typiquement, une valeur de 0 indique que la commande a été exécutée avec succès.
Exemple paramètre resultJson
{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}
Remarques Importantes
- L'utilisateur utilisé pour la connexion SSH (ou l'utilisateur spécifié dans "Run as") doit avoir les permissions nécessaires pour envoyer des signaux au processus cible.
- Le PID d'un processus peut être récupéré dynamiquement via d'autres tâches, telles que "Recherche de processus Unix" ou en exécutant une commande
psvia une tâche SSH générique, rendant ainsi l'ensemble du processus d'arrêt entièrement automatisé.- Si vous utilisez l'authentification via des clés SSH, il est nécessaire que la clé publique soit enregistrée sur le serveur distant. Si l'option "Exécuter la commande en tant qu'autre utilisateur" est activée, la commande est exécutée avec un utilisateur différent de l'utilisateur de connexion SSH principal.