Cos'è un comando kill?
Linux è un sistema operativo avanzato e eccezionale; tuttavia, non è perfetto. Alcune applicazioni potrebbero iniziare a comportarsi in modo incauto e diventare insensibili o iniziare a consumare diverse risorse di sistema.
Le applicazioni non sensibili non possono essere riavviate perché il processo effettivo dell'applicazione non si interrompe mai completamente. Un'unica soluzione è riavviare il sistema o interrompere il processo dell'applicazione.
Esistono varie utilità che ci consentono di terminare processi errati insieme al file uccisione comando. Questo comando è più ampiamente utilizzato in Linux.
stringa.valoredi
In Linux , il comando kill (situato all'interno di /bin/kill) può essere definito come un comando integrato.
Viene utilizzato per terminare manualmente i processi. Il comportamento del comando kill è leggermente diverso tra le shell e le /bin/uccidi eseguibile autonomo.
Possiamo applicare il comando type per visualizzare ogni posizione sul nostro sistema che contiene kill:
$ type -a kill
Il comando kill trasferisce un segnale verso un processo in cui termina ulteriormente il processo. Quando l'utente non descrive alcun segnale da trasferire con il comando kill, allora il file TERMINE viene trasferito il segnale (predefinito) che terminerà il processo. Se il segnale non è descritto, verrà impostato per impostazione predefinita su -quindici ( -TERMINE ).
I segnali più utilizzati sono i seguenti:
Possiamo usare il comando kill insieme a -l opzione per ottenere l'elenco di tutti i segnali disponibili:
$ kill -l
Questi segnali potrebbero essere descritti in tre modi diversi. Questi modi sono elencati di seguito:
- Per numero (ad esempio -6)
- Senza prefisso SIG (ad esempio -kill)
- Con prefisso SIG (ad esempio -SIGkill)
I comandi seguenti sono simili tra loro:
- $ kill -SIGHUP PID_NUMBER
- $ uccidi -HUP PID_NUMBER
- $ uccidi -1 PID_NUMBER
I PID forniti al comando kill potrebbero essere uno qualsiasi dei seguenti:
- Il segnale verrà trasferito al processo insieme all'ID simile al PID quando PID è maggiore di zero.
- Il segnale verrà trasferito a ogni processo all'interno del gruppo di processi corrente quando il PID sarà equivalente a zero. Significa che il segnale verrà trasferito a ogni processo relativo al GID Shell che richiede il comando kill. Possiamo applicare il ps -efj comando per visualizzare gli ID del gruppo di processi (GID).
- Il segnale verrà trasferito a ogni processo insieme all'UID simile a quello dell'utente che richiede il comando quando il PID è equivalente a -1. Se l'utente richiedente è root, il segnale verrà trasferito a tutti i processi tranne i processi kill e init.
- Il segnale verrà trasferito a ogni processo all'interno del gruppo di processi insieme a un GID simile al valore assoluto del PID quando il PID è inferiore a -1.
Gli utenti regolari sono in grado di trasferire segnali ai loro processi. Tuttavia, non include gli utenti che sono imparentati con qualsiasi altro utente. D'altra parte, l'utente root è in grado di trasferire il segnale ai processi dell'altro utente.
- Il PID di -1 è davvero unico perché indica ogni processo tranne init e kill, che è un processo genitore di ogni processo nel sistema.
- I valori negativi del PID vengono utilizzati per indicare l'ID del gruppo di processi. Quando passiamo un ID di gruppo di processi, ogni processo all'interno di quel gruppo riceverà il segnale.
- Per mostrare l'elenco dei processi in esecuzione, possiamo usare il comando ps e ci mostrerà i processi in esecuzione insieme al numero PID. Dobbiamo fornire il PID per specificare quale processo dovrebbe ricevere il segnale del comando kill.
Sintassi:
$ps
ps a: Questo comando viene utilizzato per visualizzare tutti i processi in esecuzione insieme ai relativi PID e altri dettagli. Nel caso in cui non conosciamo l'ID del processo, possiamo utilizzare questo comando.
Opzioni del comando kill
1. uccidi -l: Questa opzione viene utilizzata per visualizzare tutti i segnali esistenti, possiamo applicare la seguente opzione di comando:
Sintassi:
$kill -l
2. uccidi pid: Questa opzione viene utilizzata per mostrare come applicare il PID insieme al comando kill.
Sintassi:
$kill pid
3. uccidi -L: Il comando kill -L può essere utilizzato per elencare i segnali esistenti in un formato di tabella.
Sintassi:
/bin/kill -L
4. Traduci il numero del segnale: Possiamo facilmente tradurre qualsiasi numero di segnale in un nome di segnale utilizzando il seguente comando:
/bin/kill --list=12