logo

Com matar un procés a Linux | Kill Command

L'ordre kill a Linux (situat a /bin/kill), és una ordre integrada que s'utilitza per finalitzar processos manualment. matar L'ordre envia un senyal a un procés que finalitza el procés. Si l'usuari no especifica cap senyal que s'ha d'enviar juntament amb l'ordre kill, llavors un valor predeterminat TERME s'envia un senyal que finalitza el procés.

Sintaxi bàsica de l'ordre kill a Linux

La sintaxi bàsica de l'ordre `kill` és la següent:



Sintaxi:

kill [signal] PID>

Aquí,

actor amrita rao
  • PID = L'ordre `kill` requereix l'ID de procés (PID) del procés que volem finalitzar.
  • [senyal] = Hem d'especificar el senyal i si no especifiquem el senyal, el senyal per defecte ` TERME` s'envia per finalitzar el procés

Els senyals es poden especificar de tres maneres:

Els senyals es poden especificar de tres maneres; són els següents:



1. Per número:

Podem especificar un senyal mitjançant un número. Per exemple, tenim un PID ` 1212 ` i voleu enviar un senyal `SIGKILL` per matar aquest PID. SIGKILL té un número de senyal de ` 9 ` (Per trobar números de senyal executeu l'ordre `kill -l`).

Sintaxi:

kill -9 1212>

2. Amb el prefix SIG (p. ex./ -SIGkill)

També podem especificar el senyal mitjançant el prefix SIG. Per exemple, hem d'enviar un senyal ` TERME ` i PID és ` 1432 `. Només per comprovar el número de senyal del senyal `SIGTERM` podem utilitzar l'ordre `kill -l`.



Sintaxi:

kill -SIGTERM 1432>

3. Sense el prefix SIG:

També podem especificar senyals sense utilitzar el prefix SIG. Per exemple, si voleu enviar el senyal ` TERME` i PID ` 1234 `. Només per comprovar el número de senyal del senyal `TERM` podem utilitzar l'ordre `kill -l`.

Sintaxi:

kill -TERM 1234>

Alguns senyals comuns a kill Command

La taula següent mostra alguns senyals comuns i els seus números corresponents.

Nom del senyal Número de senyal Descripció
SOSPIR 1 S'ha detectat un bloqueig en els terminals de control o la mort del procés de control.
SIGINT 2 S'interromp des del teclat.
SIGKILL 9 Mata el senyal.
TERME 15 Acaba el senyal.

Per comprovar el nom i el número del senyal podem utilitzar ` matar -l ` ordre.

Opcions i exemples de l'ordre kill a Linux

matar -l Opció

Per mostrar tots els senyals disponibles, podeu utilitzar l'opció de comandament següent:

Sintaxi:

kill -l>

matar -l

Nota:

  • Els valors PID negatius s'utilitzen per indicar l'ID del grup de processos. Si passeu un ID de grup de processos, tot el procés dins d'aquest grup rebrà el senyal.
  • Un PID de -1 és molt especial, ja que indica tots els processos excepte kill i init, que és el procés principal de tots els processos del sistema.
  • Per mostrar una llista de processos en execució, utilitzeu l'ordre ps i això us mostrarà processos en execució amb el seu número PID. Per especificar quin procés ha de rebre el senyal de matança, hem de proporcionar el PID.

Sintaxi:

ps>

ps

matar PID Opció

Aquesta opció especifica l'ID de procés del procés que s'ha d'eliminar.

Sintaxi:

kill pid>

matar -s Opció

Aquesta opció especifica el senyal que s'ha d'enviar al procés.

Sintaxi:

kill -signal pid>

kill Command a Linux -Preguntes freqüents

Com matar un procés des de la línia d'ordres de Linux?

Per matar un procés des de la línia d'ordres de Linux, podeu utilitzar elkill>comanda seguida de l'ID de procés (PID) del procés de destinació. Per exemple, per finalitzar un procés amb PID 1234, utilitzareu l'ordre següent:

c# conté una cadena
kill 1234>

Per defecte, elkill>L'ordre envia el senyal SIGTERM, permetent al procés realitzar operacions de neteja abans de la finalització. Si el procés no respon a SIGTERM o si es requereix una terminació immediata, podeu utilitzar el senyal SIGKILL amb el-9>opció:

kill -9 1234>

És important tenir en compte que la finalització forçada d'un procés amb SIGKILL pot provocar la pèrdua o la corrupció de dades, per la qual cosa es recomana provar SIGTERM primer i recórrer a SIGKILL només si cal.

Com matar diversos processos alhora?

Podem utilitzar l'ordre kill per matar diversos processos alhora. Només hem d'especificar diversos PID separats per espais, o també podem utilitzar l'ordre `killall` per matar tots els processos amb un nom específic.

Per exemple:

Si volem eliminar els PID de processos com 1234, 4321 i 2342, podem utilitzar l'ordre següent:

kill 1234 4321 2342>

Si volem matar tots els processos amb el nom firefox. Podem utilitzar la següent comanda.

killall firefox>

És segur matar els processos del sistema?

No, és important tenir en compte que només els processos de matança que sabem que són segurs per matar i matar processos del sistema pot causar inestabilitat del sistema. Sempre és millor utilitzar altres mètodes com ara reiniciar el sistema o identificar la causa arrel del problema i solucionar-lo.

Quina diferència hi ha entre SIGTERM i SIGKILL a l'ordre `kill` a Linux?

SIGTERM, envia un senyal de terminació al procés que ajuda a sortir amb gràcia. Mentre que SIGKILL envia un senyal de matança al procés, que finalitza els processos amb força i immediatament.

Per exemple:

Per enviar el senyal `SIGTERM` i el PID `4321`, podem utilitzar la següent comanda.

kill -15 4321>

Per enviar el senyal `SIGKILL` i PID `4321`, podem utilitzar la següent comanda.

kill -9 4321>

Com puc trobar l'ID de procés (PID) d'un programa específic a Linux?

Per trobar el PID d'un programa específic, podeu utilitzar elpgrep>comanda seguida del nom del programa. Per exemple, per trobar el PID del procés de Firefox, introduïu:

pgrep firefox>

Quina és la finalitat delpkill>comanda, i en què es diferencia delkill>comandament?

Elpkill>L'ordre s'utilitza per enviar senyals als processos basats en el seu nom, proporcionant una manera més còmoda d'acabar els processos. Es diferencia de lakill>comandant permetent als usuaris especificar processos pel nom en lloc del PID.

alfabet en nombres

Com puc comprovar l'ús de recursos (CPU, memòria) d'un procés específic a Linux?

Per comprovar l'ús dels recursos d'un procés específic, podeu utilitzar eltop>comanda juntament amb l'ID del procés (PID). Per exemple, per supervisar l'ús de recursos d'un procés amb PID 1234, hauríeu d'executar:

top -p 1234>

Conclusió

L'ordre `kill` a Linux és una utilitat molt potent per gestionar processos. Hem entès les diferents maneres d'especificar els senyals i les opcions disponibles a l'ordre kill que ens poden ajudar a gestionar els recursos del nostre sistema de manera eficient i resoldre problemes de manera ràpida i eficaç.