Il comando pkill invia qualsiasi segnale specificato, o per impostazione predefinita il segnale di terminazione, ai processi in base a un modello di corrispondenza. Simile al comando pgrep, ma in realtà invia un segnale invece di stampare su stdout. Ad esempio, se inizi la parte superiore in un terminale e quindi emetti pkill top in un altro terminale, vedrai che la parte superiore termina. Il comando corrispondeva a un modello di nome anziché a un ID processo.
Sintassi
La sintassi di questo comando è:
# pkill [options] {pattern}
I comandi kill e pkill inviano segnali ai processi indirizzandoli a terminare. Ogni segnale ha un numero, un nome e un evento associato. Di seguito sono riportati alcuni dei segnali più comunemente utilizzati con le relative funzionalità.
Numero | Nome | Descrizione |
---|---|---|
1 | SIGHUP | Ricarica il file di configurazione |
2 | SEGNO | Interruzione da tastiera (ctrl+c) |
9 | SIGKILL | termina il processo |
15 | SIGTERM | Termina immediatamente il processo. (Termina un processo in modo controllato in modo che la pulizia sia possibile) |
18 | SIGCONT | Continua il processo interrotto con STOP |
19 | STOP | Interrompi processo |
Esempi di comando pkill
1. Elimina tutti i processi che corrispondono a:
# pkill "process_name"
2. Termina tutti i processi che corrispondono al loro comando completo invece del solo nome del processo:
# pkill -f "command_name"
3. Forza i processi di kill matching (non può essere bloccato):
# pkill -9 "process_name"
4. Invia il segnale SIGUSR1 ai processi che corrispondono a:
# pkill -USR1 "process_name"
5. Termina il processo principale di `firefox` per chiudere il browser:
# pkill --oldest "firefox"
6. Il comando pkill può essere utilizzato per inviare un segnale ai processi in esecuzione da uno specifico Terminale di controllo, come mostrato nella seguente sintassi:
# pkill -t [terminal_name] -U UID [command_pattern]