Abaixo algumas comandos e métodos úteis para o controle da execução de processos no Linux.
Para cancelar a execução de algum processo rodando em primeiro
plano
, basta pressionar as teclas
CTRL
+C
. A execução do programa será
cancelada e será mostrado o aviso de comando. Você também pode usar o comando
“kill” para interromper um processo sendo executado.
Para parar a execução de um processo rodando em primeiro plano, basta
pressionar as teclas CTRL
+Z
. O programa
em execução será pausado e será mostrado o número de seu job e o aviso de
comando.
Para retornar a execução de um comando pausado, use “fg” ou “bg”.
O programa permanece na memória no ponto de processamento em que parou quando ele é interrompido. Você pode usar outros comandos ou rodar outros programas enquanto o programa atual está interrompido.
O comando jobs mostra os processos que estão parados ou
rodando em segundo plano. Processos em segundo plano são
iniciados usando o símbolo "&"
no final da linha de comando
(veja “Tipos de Execução de comandos/programas”) ou através do comando bg.
jobs
O número de identificação de cada processo parado ou em segundo plano (job), é
usado com os comandos “fg” e “bg”. Um
processo interrompido pode ser finalizado usando-se o comando kill
%[num]
, onde [num]
é o número do processo obtido
pelo comando jobs.
Permite fazer um programa rodando em segundo plano ou parado, rodar em primeiro plano. Você deve usar o comando jobs para pegar o número do processo rodando em segundo plano ou interrompido, este número será passado ao comando fg para ativa-lo em primeiro plano.
fg [número]
Onde número é o número obtido através do comando jobs.
Caso seja usado sem parâmetros, o fg utilizará o último programa interrompido (o maior número obtido com o comando jobs).
Exemplo: fg 1
.
Permite fazer um programa rodando em primeiro plano ou parado, rodar em segundo
plano. Para fazer um programa em primeiro plano rodar em segundo, é necessário
primeiro interromper a execução do comando com CTRL
+
Z
, será mostrado o número da tarefa interrompida, use este
número com o comando bg para iniciar a execução do comando
em segundo plano.
bg [número]
Onde: número número do programa obtido com o
pressionamento das teclas CTRL
+Z
ou
através do comando jobs.
Permite enviar um sinal a um comando/programa. Caso seja usado sem parâmetros, o kill enviará um sinal de término ao processo sendo executado.
kill opções] [sinal] [número]
Onde:
É o número de identificação do processo obtido com o comando “ps”. Também pode ser o número após o sinal de
%
obtido pelo comando jobs para matar uma
tarefa interrompida. Veja “jobs”.
Sinal que será enviado ao processo. Se omitido usa -15
como
padrão.
Envia um sinal de destruição ao processo ou programa. Ele é terminado imediatamente sem chances de salvar os dados ou apagar os arquivos temporários criados por ele.
Você precisa ser o dono do processo ou o usuário root para termina-lo ou destruí-lo. Você pode verificar se o processo foi finalizado através do comando ps. Os tipos de sinais aceitos pelo GNU/Linux são explicados em detalhes em “Sinais do Sistema”.
Exemplo: kill 500
, kill -9 500
,
kill %1
.
Permite finalizar processos através do nome.
killall [opções] [sinal] [processo]
Onde:
Nome do processo que deseja finalizar
Sinal que será enviado ao processo (pode ser obtido usando a opção
-i
).
Pede confirmação sobre a finalização do processo.
Lista o nome de todos os sinais conhecidos.
Ignora a existência do processo.
Retorna se o sinal foi enviado com sucesso ao processo.
Finaliza a execução do killall somente após finalizar todos os processos.
Os tipos de sinais aceitos pelo GNU/Linux são explicados em detalhes na “Sinais do Sistema”.
Exemplo: killall -HUP inetd
Retirado da página de manual signal
. O
GNU/Linux suporta os sinais listados abaixo. Alguns números
de sinais são dependentes de arquitetura.
Primeiro, os sinais descritos no POSIX 1:
Sinal Valor Ação Comentário --------------------------------------------------------------------------- HUP 1 A Travamento detectado no terminal de controle ou finalização do processo controlado INT 2 A Interrupção através do teclado QUIT 3 C Sair através do teclado ILL 4 C Instrução Ilegal ABRT 6 C Sinal de abortar enviado pela função abort FPE 8 C Exceção de ponto Flutuante KILL 9 AEF Sinal de destruição do processo SEGV 11 C Referência Inválida de memória PIPE 13 A Pipe Quebrado: escreveu para o pipe sem leitores ALRM 14 A Sinal do Temporizador da chamada do sistema alarm TERM 15 A Sinal de Término USR1 30,10,16 A Sinal definido pelo usuário 1 USR2 31,12,17 A Sinal definido pelo usuário 2 CHLD 20,17,18 B Processo filho parado ou terminado CONT 19,18,25 Continuar a execução, se interrompido STOP 17,19,23 DEF Interromper processo TSTP 18,20,24 D Interromper digitação no terminal TTIN 21,21,26 D Entrada do terminal para o processo em segundo plano TTOU 22,22,27 D Saída do terminal para o processo em segundo plano
As letras da coluna Ação
tem o seguinte significado:
A
- A ação padrão é terminar o processo.
B
- A ação padrão é ignorar o sinal.
C
- A ação padrão é terminar o processo e mostrar o core.
D
- A ação padrão é parar o processo.
E
- O sinal não pode ser pego.
F
- O sinal não pode ser ignorado.
Sinais não descritos no POSIX 1 mas descritos na SUSv2:
Sinal Valor Ação Comentário ------------------------------------------------------------------------- BUS 10,7,10 C Erro no Barramento (acesso incorreto da memória) POLL A Evento executado em Pool (Sys V). Sinônimo de IO PROF 27,27,29 A Tempo expirado do Profiling SYS 12,-,12 C Argumento inválido para a rotina (SVID) TRAP 5 C Captura do traço/ponto de interrupção URG 16,23,21 B Condição Urgente no soquete (4.2 BSD) VTALRM 26,26,28 A Alarme virtual do relógio (4.2 BSD) XCPU 24,24,30 C Tempo limite da CPU excedido (4.2 BSD) XFSZ 25,25,31 C Limite do tamanho de arquivo excedido (4.2 BSD)
(Para os casos SIGSYS, SIGXCPU, SIGXFSZ, e em algumas arquiteturas também o SIGGUS, a ação padrão do Linux para kernels 2.3.27 e superiores é A (terminar), enquanto SYSv2 descreve C (terminar e mostrar dump core).) Seguem vários outros sinais:
Sinal Valor Ação Comentário -------------------------------------------------------------------- IOT 6 C Traço IOT. Um sinônimo para ABRT EMT 7,-,7 STKFLT -,16,- A Falha na pilha do processador IO 23,29,22 A I/O agora possível (4.2 BSD) CLD -,-,18 Um sinônimo para CHLD PWR 29,30,19 A Falha de força (System V) INFO 29,-,- Um sinônimo para SIGPWR LOST -,-,- A Perda do bloqueio do arquivo WINCH 28,28,20 B Sinal de redimensionamento da Janela (4.3 BSD, Sun) UNUSED -,31,- A Sinal não usado (será SYS)
O "-" significa que o sinal não está presente. Onde três valores são listados, o primeiro é normalmente válido para o Alpha e Sparc, o do meio para i386, PowerPc e sh, o último para o Mips. O sinal 29 é SIGINFO/SIGPWR em um Alpha mas SIGLOST em um Sparc.
Copyright © 1999-2020 - Gleydson Mazioli da Silva