Diversi comandi vengono utilizzati per inviare segnali ai processi per terminarli o "ucciderli". Ciò è necessario quando un processo non risponde (si blocca), causa instabilità del sistema o non riesce a cedere il controllo su un file che stai tentando di modificare.
Il comando "kill" invia qualsiasi segnale specificato, o per impostazione predefinita il segnale di terminazione, a uno o più processi. Il PID deve essere specificato come argomento.
Di seguito sono riportati alcuni esempi di implementazione dei segnali di uccisione. Per terminare un processo con ID 921 in modo corretto:
# kill 15 921
In caso contrario, per terminare immediatamente il processo:
# kill 9 921
In alternativa, per mettere in pausa anziché rimuovere completamente il processo:
# kill 17 921
Se si verifica l'errore seguente durante l'esecuzione del comando kill:
kill: command not found
puoi provare a installare il pacchetto seguente secondo la tua scelta di distribuzione:
Distribuzione del sistema operativo | Comando |
---|---|
Debian | apt-get install procps |
Ubuntu | apt-get install procps |
Alpino | apk aggiunge procps |
Arci Linux | pacman -S procps-ng |
Kali Linux | apt-get install procps |
CentOS | yum install procps-ng |
Fedora | dnf install procps-ng |
Raspbian | apt-get install procps |
Esempi di comando di uccisione
1. Per ottenere l'elenco dei segnali:
# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE 9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGURG 17) SIGSTOP 18) SIGTSTP 19) SIGCONT 20) SIGCHLD 21) SIGTTIN 22) SIGTTOU 23) SIGIO 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGINFO 30) SIGUSR1 31) SIGUSR2
2. Per inviare un segnale particolare:
# kill -s 9
3. Per specificare l'elenco dei processi per kill:
# kill 1234 2345 3456
4. Termina un programma utilizzando il segnale SIGTERM (termina) predefinito:
# kill process_id
5. Termina un lavoro in background:
# kill %job_id
6. Terminare un programma utilizzando il segnale SIGHUP (riagganciare). Molti demoni verranno ricaricati invece di terminare:
# kill -1|HUP process_id
7. Terminare un programma utilizzando il segnale SIGINT (interruzione). Questo viene in genere avviato dall'utente premendo `Ctrl + C`:
# kill -2|INT process_id
8. Segnala al sistema operativo di terminare immediatamente un programma (che non ha alcuna possibilità di catturare il segnale):
# kill -9|KILL process_id
9. Segnalare al sistema operativo di mettere in pausa un programma finché non viene ricevuto un segnale SIGCONT ("continua"):
# kill -17|STOP process_id
10. Invia un segnale `SIGUSR1` a tutti i processi con il GID specificato (ID gruppo):
# kill -SIGUSR1 -group_id