Como matar o processo Linux usando Kill, Pkill e Killall

Como matar o processo Linux usando Kill, Pkill e Killall

O sistema operacional Linux vem com um matar comando Para encerrar um processo. O comando torna possível continuar executando o servidor sem a necessidade de reiniciar após uma grande mudança/atualização. Aí vem o grande poder do Linux e essa é uma das razões pelas quais o Linux está sendo executado 96.4% de servidores, no planeta.

Matar O comando envia um sinal, um sinal especificado para um processo atualmente em execução. O comando Kill pode ser executado de várias maneiras, diretamente ou de um script de shell.

[Você também pode gostar: Encontre os 15 principais processos por uso da memória com 'top' no modo em lote]

Usando matar comando de /usr/bin fornecer algum recurso extra para matar um processo por nome do processo usando pkill.

Matar uso de comando

A sintaxe comum para matar comando é:

# Kill [sinal ou opção] PID (s)

Para matar comando a Nome do sinal poderia ser:

Nome do sinal Valor do sinal Comportamento SIGHUP 1 HANGUP SIGKILL 9 SINAL DE MATA SIGTERT 15 Terminar

Claramente do comportamento acima, Sigterm é a maneira padrão e mais segura de matar um processo. Sighup é uma maneira menos segura de matar um processo do que Sigterm. Sigkill é a maneira mais insegura entre os três acima, para matar um processo que encerra um processo sem salvar.

Para matar um processo, precisamos conhecer o ID do processo de um processo. A Processo é uma instância de um programa. Toda vez que um programa começa, automaticamente um único PID é gerado para esse processo.

Todo processo em Linux tem um PID. O primeiro processo que começa quando o sistema Linux é inicializado é o - processo init, Portanto, é atribuído um valor de '1' na maioria dos casos.

[Você também pode gostar: tudo o que você precisa saber sobre processos no Linux [Guia abrangente]]]

Iniciar é o processo mestre e não pode ser morto dessa maneira, o que garante que o processo mestre não seja morto acidentalmente. Iniciar decide e se permite ser morto, onde o Kill é apenas um pedido de desligamento.

Liste todos os processos de execução do Linux

Para conhecer todos os processos e correspondentemente seus atribuídos PID, Execute o seguinte comando PS.

# ps -a
Saída de amostra
PID TTY TIME CMD 1 ? 00:00:01 init 2 ? 00:00:00 Kthreadd 3 ? 00:00:00 Migração/0 4 ? 00:00:00 ksoftirqd/0 5 ? 00:00:00 Migração/0 6 ? 00:00:00 watchdog/0 7 ? 00:00:01 Eventos/0 8 ? 00:00:00 CGROUP 9 ? 00:00:00 KHELPER 10 ? 00:00:00 NETNS 11 ? 00:00:00 ASYNC/MGR 12 ? 00:00:00 13 ? 00:00:00 SYNC_SUPERS 14 ? 00:00:00 BDI-Default 15 ? 00:00:00 Kintegrityd/0 16 ? 00:00:00 Kblockd/0 17 ? 00:00:00 KACPID 18 ? 00:00:00 kacpi_notify 19 ? 00:00:00 KACPI_HOTPLUG 20 ? 00:00:00 ATA/0 21 ? 00:00:00 Ata_aux 22 ? 00:00:00 ksuspend_usbd

Que tal personalizar a saída acima usando sintaxe como 'Processo PIDOF'.

# pidof mysqld
Saída de amostra
1684

Outra maneira de alcançar o objetivo acima é seguir a sintaxe abaixo.

# ps aux | grep mysqld
Saída de amostra
Raiz 1582 0.0 0.0 5116 1408 ? S 09:49 0:00/bin/sh/usr/bin/mysqld_safe ---datadir =/var/lib/mysql - -socket =/var/lib/mysql/mysql.Meia-Pid-File =/var/run/mysqld/mysqld.pid -baseado =/usr --user = mysql mysql 1684 0.1 0.5 136884 21844 ? SL 09:49 1:09/usr/libexec/mysqld-baseado =/usr ---datadir =/var/lib/mysql --user = mysql ---log-error =/var/log/mysqld.log-pid-file =/var/run/mysqld/mysqld.pid - -socket =/var/lib/mysql/mysql.raiz de meia 20844 0.0 0.0 4356 740 pts/0 s+ 21:39 0:00 grep mysqld 

[Você também pode gostar: Como encontrar os 15 principais processos por uso de memória no Linux]

Como matar um processo no Linux

Antes de avançarmos e executar um matar comando, Alguns pontos importantes a serem observados:

  • Um usuário pode matar todos os seus processos.
  • Um usuário não pode matar o processo de outro usuário.
  • Um usuário não pode matar processos que o sistema está usando.
  • Um usuário raiz pode matar o processo no nível do sistema e o processo de qualquer usuário.

Outra maneira de desempenhar a mesma função é executar o 'PGREPComando.

# pgrep mysql
Saída de amostra
3139

Para matar o processo acima PID, Use o comando Kill como mostrado.

Mate -9 3139

O comando acima matará o processo tendo PID=3139, onde PID é um Valor numérico do processo.

Outra maneira de desempenhar a mesma função pode ser reescrita como.

# Kill -Sigterm 3139

De forma similar 'Mate -9 pid' é similar a 'Mate -sigkill pid' e vice versa.

Como matar um processo no Linux usando o nome do processo

Você deve estar ciente do nome do processo, antes de matar e entrar em um nome de processo errado, pode ferrar você.

# pkill mysqld 

Mate mais de um processo de cada vez.

# kill pid1 pid2 pid3 ou # kill -9 pid1 pid2 pid3 ou # kill -sigkill pid1 pid2 pid3 

E se um processo tiver muitas instâncias e vários processos filhos, temos um comando 'Mate todos' ou pkill. Esses dois são os únicos comandos desta família, que tomam o nome do processo como argumento no local do número do processo.

Sintaxe:
# killall [sinal ou opção] Nome do processo ou # Nome do processo PKill 

Para matar tudo Instâncias MySQL Junto com os processos filhos, use o comando da seguinte.

# killall mysqld ou # pkill mysqld 

Você sempre pode verificar o status do processo, se estiver em execução ou não, usando qualquer um dos comandos abaixo.

# serviço mysql status ou # status systemctl mysql # pgrep mysql # ps -aux | grep mysql 

Isso é tudo por enquanto, do meu lado. Em breve estarei aqui novamente com outro tópico interessante e informativo. Até então, fique atento, conectado a Tecmint, e saudável. Não se esqueça de dar o seu feedback valioso na seção de comentários.