103.5 Criando, Monitorando e Matando Processos
Conhecimentos Principais- Executar Processos em Primeiro e Segundo Plano
- Manter um programa em Execução mesmo após o Logout
- Monitorar Processos Ativos
- Selecionar e Localizar processos em Execução
- Matar processos.
Comandos Trabalhados
- &
- bg
- fg
- jobs
- kill
- nohup
- ps
- top
- free
- uptime
- killall
Bem Pessoal, estou realizando a postagem sobre como trabalhar com processos no Linux através de linha de comando.
O Primeiro termo a ser trabalhado será o "&" que tem uma utilidade bem simples porém muito utilizada, no terminal digite: (Sem o símbolo $)
$ vi &
Aparentemente nada acontece, mas na realidade o processo foi iniciado e jogado automaticamente para segundo plano, com o comando:
$ bg
Ele lista todos os processos e encontramos o processo vi, como estando em segundo plano. Através do comando fg [número do processo] (antes visto com o comando bg...) poderemos trazer o programa para foreground (primeiro plano):
$ fg 1
Agora pressione CTRL + Z, que isso jogará o processo novamente para segundo plano, e com o comando jobs poderemos novamente mostrar os processos em segundo plano, assim como o comando bg.
$ jobs
Poderemos matar processos com o comando kill, que podemos matar processos através do seu PID (Process Identifier), o primeiro passo para consegui-ló é através dos comandos ps ou top.
$ top
$ ps
Este comando sozinho mostra os processos iniciados através do terminal atual, para uma busca mais detalhada utilizamos a opção -aux que mostra todos os processos de todos os usuários em todos os terminais.
$ ps -aux
Com a utilização de filtros de pesquisa poderemos filtrar qualquer processo em execução, seja pelo nome ou qualquer outro critério adotado.
$ ps -aux | grep -w vi
-w foi utilizado para a pesquisa exata, retirando o -w o resultado deva ser bem semelhante...
Agora com o número do processo em mãos poderemos matar o processo, com o comando kill ou killall.
OBS: O Uso do comando kill sempre será necessário o número do processo, já o comando killall ele mata o processo pelo nome dele, ex: killall vi
kill [signal] [PID]
Onde sinal pode ser o nome dele ou o número que o identifica, precedido de -
Sinais úteis podem ser:
- SIGINT, que possui o mesmo efeito de se pressionar Ctrl+C para interromper um programa
- SIGSTOP, que possui o mesmo efeito de se pressionar Ctrl+Z para parar um programa
- SIGCONT, faz o programa parado continuar a execução
- SIGQUIT, que força o programa a fazer um core dump
- SIGKILL, que finaliza o programa
$ kill -9 23792
Demais conhecimentos do Tópico são bem mais simples...
O Comando free mostra a memória RAM livre, pode usar com as opções -b mostra em bytes, -k em kilobytes, -m megabytes e -g gibabytes.
O Comando nohup serve para que o programa quando executado através dele não seja interrompido quando o usuário realizar o logout, muito útil quando estamos realizando por exemplo um download longo através do wget.
O Comando uptime serve para mostrar a quanto tempo nosso sistema está ativo (máquina ligada) e o estado de carga do sistema nos últimos 5 10 e 15 min.
0 comentários:
Postar um comentário