Como matar o processo Linux usando Kill, Pkill e Killall
- 2562
- 114
- Leroy Lebsack
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.
- « Como instalar pgadmin no rocky linux e almalinux
- 20 comandos para iniciantes que mudaram do Windows para Linux »