Galeria de mapas mentais Tópico 103 - Comandos GNU e Linux
Este mapa mental é um resumo dos comandos mais cobrados nas provas de certificação LPIC-1. This mind map is a summary of the most charged commands in the LPIC-1 command tests.
Editado em 2022-01-30 21:05:26103.5 Criar, monitorar e encerrar processos
processos, ps, pstree, pgrep
Processos
Todo comando, programa, script é um processo no linux.
PID
É o número que identifica o processo (Process ID).
PPID
É o número que idenfica o processo pai que iniciou outro. Parent Process ID
Ex: Iniciar o firefox por meio de um terminal bash. Neste caso o pai do processo seria o bash.
init
O init é o primeiro programa iniciado no linux, portanto é o pai de todos os procesos
O PID do processo init é sempre o 1
ps
Comando que mostra o status dos processos em execução no linux.
ps
Mostra os processos em execução do usuário atual no terminal atual.
ps -u
Idem ao comando anterior porém com mais informações como:
USER
PID
%CPU
%MEM
VSZ
Quantidade de memória utilizada pelo processo ao longo de sua execução.
RSS
Quantidade de memória sendo utilizada pelo processo.
TTY
Terminal que iniciou o processo
pts/0
Terminal iniciado de forma lógica sem necessidade de hardware específico.
tty1
Terminal iniciado a partir de um hardware.
STAT
Status do processo.
TIME
Tempo que o processo utilizou a CPU
COMMAND
Comando que iniciou o processo.
ps -ux
Mostra detalhadamente todos processos do usuário atual, iniciado ou não a partir de um terminal.
ps -uxa
Mostra o processo de todos os usuários.
ps -uxaf
Mostra os processos em arvores, a relação de parentesco do processo.
ps -ixa
A opção i mostra uma tabela de informações diferente da opção u:
UID
Número que identifica o usuário
PPID
Processo pai
PRI
NI
WCHAN
ps -wxa
Mostra PID, TTY, STAT TIME e COMMAND
ps u -C VboxClient
Mostra o status do progama VboxClient iniciado pelo usuário atual.
pstree
Mostra os processos em execução no formato de árvore.
pstree -p
Mostra com o ID do processo.
O comando pstree reconhece o systemd com o ID 1.
pgrep
Mostra o PID do processo
pgrep bash
3267
pgrep bash -u root
Mostra o PID do processo bash iniciado pelo usuário root
top
Fornece uma visão dinâmica em tempo real de um sistema
Exibir informações de resumo do sistema.
Tempo que o servidor ta ativo.
Usuários logados.
load average
Média da fila de processos da máquina.
Consumo de cpu e memória.
Exibe uma lista de processos ou thread atualmente sendo gerenciado pelo Kernel Linux.
PID, USER, PR (prioridade), NI (nice), VIRT, RES...
shift + m ou M maiúsculo.
Ordena por uso de Mémoria
shift + p ou P maiúsculo.
Ordena por uso de CPU.
u
Abre campo para filtrar por usuário.
r
Para alterar a prioridade de execução.
n
Para alterar a quantidade de processos exibidos.
k
Para matar um processo.
? ou h
Exibe as opções disponíveis.
top -b
Exibe as informações não interativas de tempo em tempo na tela.
top -b -d3
-d informa o tempo em seg de atualização da tela.
top -b -d3 -n3
-n informa quantas vezes vai atualizar a informação.
top -b -d2 -n5 > process.out
Essas opções são utéis quando é necessário jogar as informações do top em um arquivo.
kill, killall, pkill
kill
Enviar sinal para um processo, normalmente é para matar o processo, mais não necessariamente.
kill -l
Exibe os tipos de sinais
Pode informar o ID ou o nome do sinal
1) SIGHUP
Terminar, reiniciar ou reler as configurações do processo.
2) SIGINT
Interrompe um processo.
3) SIGQUIT
Para um processo
9) SIGKILL
Mata um processo imediatamente, nenhum processo pode ignorar este sinal.
15) SIGTERM
Solicita que um processo se encerre assim que terminar suas tarefas, este é o sinal padrão do comando kill sem argumentos.
A inicial SIG pode ser omitida no momento que informar o nome do sinal.
kill 4441
Encerra o processo com PID 4441
kill -s SIGKILL 4500
Para informar o nome ou id do sinal, utiliza o -s
kill -s 9 4557
kill -SIGKILL 4557
A opção -s pode ser omitida utilizando o -
kill -9 4557
killall
Mata processos baseados no nome do processo
killall firefox
Mata todos os processos com o nome informado.
killall httpd
pkill
Faz um filtro para encontrar o processo e
pkill -1 firefox -u lpi1
Envia o sinal SIGHUP para os processos firefox do usuário lpi1
uptime, free, screen
uptime
Mostra quanto tempo a máquina está ligada.
Mostra o horário atual, usuários logados e load average.
free
Mostra a quantidade de memória ram e swap utilizadas.
free -m
Exibe as informações em Megabytes
used é a memória alocada, e não utilizada.
screen
Gerenciar e trabalhar em várias abas.
screen
abre uma aba do screen
CTRL+a c
Cria outra aba.
CTRL+a n
Navega entre as abas.
CTRL+a d
Deixa aba detached, o mesmo que minimizado.
exit
Termina a aba do screen.
screen -r
Retorna para a última aba aberta.
jobs, bg, fg, nohup
jobs
Mostra os processos executados em background
firefox &
O & no final do comando indica que esse processo deve ser executado em background.
jobs -l
Mostra o ID dos jobs, o PID, o status e o nome do processo em background.
gnome-calculator
CTRL+Z
Envia um sinal para parar o processo.
O processo não encerra, apenas fica pausado e em background.
bg
Retona a execução do último job que esteja parado em background.
bg 2
Especifica qual o job que deve retornar a execução em background
fg
Retona o último job em background para foreground.
fg 2
Especifica qual o job que deve retornar a execução em foreground.
nohup
Impede que o processo seja encerrado por um sinal (excerto SIGKILL)
Ex: Em execuções remotas, quando se encerra a conexão, todos os processos iniciados nessa seção remota podem ser encerrados.
nohup firefox &
nohup diz que o firefox deve ignorar entradas e envia qualquer saída do comando para um arquivo nohup.out, além disso vai ignorar sinais que desejam encerrar o processo.
watch, tmux
watch
Executa um programa periodicamente e mostra o resultado.
watch date
Executa o date periodicamente.
Por padrão a cada 2 segundos.
watch -n60 "ps axu |grep firefox"
A opção -n informa o tempo em segundos que o comando deve ser reexecutado.
tmux
Simila ao screen, com mais funções.
tmux
Inicia uma janela do tmux
CTRL+b
c
Cria uma nova janela.
,
Para renomear o nome da janela.
p
Volta para a janela anterior.
n
Vai para a próxima janela.
l
Vai para a última janela que estava.
0 ou 1, ou 2 ...
Vai para o número da janela específicado.
w
Mostra uma lista de janelas abertas para escolher.
%
Abre um novo painel vertical dentro da mesma janela.
CTRL+b
Direcional (setas)
Para mudar de um painel para o outro.
%
Abre vários paines dentro desta janela conforme é pressionado
o
Rotaciona entre os painéis
exit
Fecha um painel
CTRL+b (manter pressionado)
Direcional
Ajusta o tamanho do painel.
&
Pergunta se quer matar a janela.
"
Abre um novo painel horizontal dentro da mesma janela.
d
Deixa o tmux em detached, o mesmo que minimizado e volta para o terminal comum
tmux ls
Lista as seções do tmux em execução.
tmux attach -t 0
Conecta na seção específicada.
tmux new -s connection
Cria uma nova seção do tmux e entra.
tmux kill-session -t 0
Mata a seção específicada
Pode ser utilizado como uma tela compartilhada que permite se conectar simutâneamente na mesma seção do tmux utilizando terminais diferentes.
103.6 Modificar a Prioridade de Execução de Processos
nice e renice
A prioridade pode ser visualizada utilizando os comandos
ps -l
top
PR
Número interno de prioridade definido pelo kernel linux.
NI
Prioridade que pode ser definida pelo usuário.
nice
Define a prioridade de um comando ao inicia-lo.
Range do nice: -20 a +19
Valor negativo significa mais prioridade.
Valor positivo signifca menos prioridade.
O processos por padrão iniciam com prioridade 0.
Apenas o root pode definir maior prioridade.
Usuários comuns podem definir prioridades entre 0 e +19.
nice firefox &
O valor padrão de prioridade usando o nice sem especificar a prioridade é +10.
nice -n15 firefox &
Inicia o firefox com nice (prioridade) +15
nice -15 firefox &
nice --15 gnome-calculator &
Inicia o gnome calculator com prioridade -15.
nice --adjustment=-10
Outra sintaxe do comando.
renice
Altera a prioridade de um programa em execução
renice -n 8 20509
Altera o nice do processo 20509 (PID) para +8.
renice 8 20509
renice -15 20509
Altera o nice do processo 20509 (PID) para -8.
renice -n 5 -u lpi1
Altera o nice de todos os processos do usuário lpi1 para +5.
renice -n 5 -g lpi1
Altera o nice de todos os processos do grupo lpi1 para +5.
103.7 Pesquisar Arquivos de Texto com Expressões Regulares
grep e Regex
A prioridade pode ser visualizada utilizando os comandos
ps -l
top
PR
Número interno de prioridade definido pelo kernel linux.
NI
Prioridade que pode ser definida pelo usuário.
nice
Define a prioridade de um comando ao inicia-lo.
Range do nice: -20 a +19
Valor negativo significa mais prioridade.
Valor positivo signifca menos prioridade.
O processos por padrão iniciam com prioridade 0.
Apenas o root pode definir maior prioridade.
Usuários comuns podem definir prioridades entre 0 e +19.
nice firefox &
O valor padrão de prioridade usando o nice sem especificar a prioridade é +10.
nice -n15 firefox &
Inicia o firefox com nice (prioridade) +15
nice -15 firefox &
nice --15 gnome-calculator &
Inicia o gnome calculator com prioridade -15.
nice --adjustment=-10
Outra sintaxe do comando.
renice
Altera a prioridade de um programa em execução
renice -n 8 20509
Altera o nice do processo 20509 (PID) para +8.
renice 8 20509
renice -15 20509
Altera o nice do processo 20509 (PID) para -8.
renice -n 5 -u lpi1
Altera o nice de todos os processos do usuário lpi1 para +5.
renice -n 5 -g lpi1
Altera o nice de todos os processos do grupo lpi1 para +5.