Unix Kill Process
- Task type:
ssh_killprocess
Il Task Unix Kill Process consente di terminare un processo tramite PID (Process ID), eseguendo l’operazione sulla macchina locale (modalità Default) o su un server remoto tramite SSH.
Permette di arrestare processi in esecuzione su sistemi Unix/Linux.
Configurazione
La configurazione definisce la modalità di esecuzione (locale o remota) e i parametri necessari per identificare il processo da terminare. I campi possono essere valorizzati manualmente o tramite parametri e variabili del workflow.
Connessione al Server
- Modalità connessione: Definisce l’origine delle credenziali utilizzate per la connessione. Può assumere tre modalità operative:
- Default: il comando viene eseguito dalla macchina locale.
- Manuale: Consente l’inserimento manuale dei parametri di connessione.
- Environment: Utilizza un ambiente di connessione preconfigurato. In questa modalità viene visualizzato un menu che elenca le connessioni disponibili in base al ruolo associato al Workflow.
- Indirizzo IP: Indirizzo IP del server remoto.
- Hostname: Nome host del server remoto.
- Utente: Nome utente utilizzato per stabilire la connessione SSH.
- Autenticazione: seleziona Password oppure Chiave.
- Password: compare scegliendo Password.
- Path chiave privata: compare scegliendo Chiave; richiede il path assoluto del file e supporta parametri e variabili del workflow. Sono supportate chiavi RSA ed Ed25519.
- Porta: Porta utilizzata per la connessione SSH (il valore predefinito è 22).
Esegui comando come altro utente
Attivando questa checkbox, è possibile eseguire la ricerca con un utente diverso da quello utilizzato per la connessione SSH.
- Utente: Nome dell'utente con cui verrà eseguito il comando.
- Password: Password dell’utente utilizzato per l’esecuzione del comando.
Dettagli del Processo
- Segnale: Il segnale di terminazione da inviare al processo. La scelta del segnale determina il "modo" in cui si chiede al processo di fermarsi:
- SIGTERM: (Predefinito) Segnale di terminazione standard. Chiede gentilmente al processo di chiudersi, permettendogli di completare le operazioni di pulizia. È il metodo preferito.
- SIGKILL: Segnale di terminazione forzata. Arresta immediatamente il processo senza dargli la possibilità di fare pulizia. Da usare quando SIGTERM non funziona.
- SIGINT: Segnale di interruzione (equivalente a premere Ctrl+C).
- SIGQUIT: Segnale di "quit" dalla tastiera.
- SIGHUP: Segnale di "hang up", spesso usato per far ricaricare la configurazione a un demone.
- PID Processo: Identificativo numerico (Process ID) del processo da terminare. È possibile specificare più PID separandoli con uno spazio.
Parametri di Output
Al termine dell'esecuzione, il Task espone i seguenti parametri di output :
- result: Contiene un messaggio testuale che descrive l'esito dell'operazione o un messaggio di errore (es. “Missing server address”).
- resultJson: Rappresenta il risultato dell’esecuzione del task in formato JSON, includendo informazioni generali, configurazioni e dettagli sull’esecuzione.
- exitStatus: Restituisce il codice di uscita del comando kill eseguito sul server remoto. Tipicamente, un valore di 0 indica che il comando è stato eseguito con successo.
Esempio parametro resultJson
{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}
Note Importanti
- L'utente utilizzato per la connessione SSH (o l'utente specificato in "Run as") deve avere i permessi necessari per inviare segnali al processo target.
- Il PID di un processo può essere recuperato dinamicamente tramite altri Task, come "Unix Search Process" o eseguendo un comando ps tramite un Task SSH generico, rendendo l'intero processo di arresto completamente automatizzato.
- Se si utilizza l’autenticazione tramite chiavi SSH, è necessario che la chiave pubblica sia registrata sul server remoto. Se l’opzione “Esegui comando come altro utente” è abilitata, il comando viene eseguito con un utente diverso da quello della connessione SSH principale.