'End Process' equivalente no linux

6

Atualmente estou usando o monitor do sistema do gnome. É como o gerenciador de tarefas, e tem uma função para finalizar o processo, mas às vezes isso faz com que tudo congele e bloqueie. Existe alguma maneira de encerrar totalmente um processo com a linha de comando mais rápido?

    
por John T 30.07.2009 / 04:58

8 respostas

11

Experimente o xkill, há um applet que você pode colocar no seu painel. Você só clica nele, então clica na janela de aplicação que você gostaria de matar e ele se foi instantaneamente. Muito útil.

    
por 30.07.2009 / 05:12
14

Você está procurando o comando kill

para finalizar um processo "totalmente" como você solicitou, você pode usar kill assim:

kill -9 PID

embora isso possa ter efeitos indesejados e possa deixar arquivos temporários e tal, você deve tentar enviar o sinal terminate primeiro:

kill -TERM PID

onde PID é o id do processo que você deseja matar. Usando o switch -9 vai matar o processo, não importa o que assim ser cuidado com isso. Você pode determinar um PID de um aplicativo usando o comando ps . Se o processo estiver interrompido, é provável que ele esteja usando um pouco de recursos, então você também o verá perto do topo da lista usando o comando top . O monitor do sistema deve informar o PID.

Você também pode usar algo assim para determinar o PID:

ps -ax | grep program_name

o número na extrema esquerda deve ser o PID.

    
por 30.07.2009 / 04:59
7

Você pode usar kill para enviar o sinal desejado para o ID do processo. Você pode encontrar o ID do processo com o pgrep e enviar um sinal para um processo nomeado com o pkill . O padrão usado para procurar o processo com pgrep e pkill normalmente é comparado apenas ao nome do processo. Especifique -f para verificar toda a linha de comando do processo. Comece com um sinal TERM (é o padrão, se nenhum sinal for especificado) antes de usar KILL ('9'), já que matar um processo pode ter efeitos colaterais indesejáveis.

Por exemplo, vou usar o processo dhclient3 no meu sistema.

Modo antigo, ps | grep:

$ ps awux | grep dhclient3
root      2539  0.0  0.1   2200   220 ?        S<s  Jul28   0:00 dhclient3 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp3/dhclient.eth0.leases eth0
1000     12734  0.0  0.5   3184   732 pts/3    R+   21:58   0:00 grep dhclient3

Mate o dhclient:

$ kill -9 2539

com pgrep / pkill:

$ pgrep dhclient
2539

Com -f para especificar um padrão em qualquer lugar na linha de comando:

$ pgrep -f leases
2539

Mate o processo do dhclient com o pkill (sinal antes do padrão -f):

$ pkill -f dhclient3
$ pkill -9 -f dhclient3

Sobre os sinais (da página do kill man):

The default signal for kill is TERM. Use -l or -L to list available signals. Particularly useful signals include HUP, INT, KILL, STOP, CONT, and 0. Alternate signals may be specified in three ways: -9 -SIGKILL -KILL. Negative PID val‐ ues may be used to choose whole process groups; see the PGID column in ps command output. A PID of -1 is special; it indicates all processes except the kill process itself and init.

    
por 30.07.2009 / 06:04
1

Eu costumo fazer:

ps -feax | grep "TaskNameHere"

Que retorna o PID da tarefa

Então

kill -9 the_process_id
    
por 30.07.2009 / 05:02
1

Eu gosto de usar o killall porque ele permite que você navegue pelos nomes do processo em execução e, se você estiver usando o zsh, ele fornecerá uma boa lista de processos em execução. Comece com a primeira letra do processo que você quer matar e pressione Tab.

killall fi
A aba

, mostrará que tenho 'firefox' disponível. repita o comando e se ele disser algo sobre nenhum processo foi morto, você cumpriu sua tarefa.

    
por 30.07.2009 / 16:41
0

Note que se o processo enforcado for uma janela, você tem um "botão" para adicionar na barra de ferramentas do Gnome, para finalizar um processo (você clica nele, então na janela em questão)

edit: " Forçar Sair " é o nome dele

    
por 30.07.2009 / 19:23
0

Você quer psdoom . Este é um jogo de tiro em primeira pessoa em que os monstros são associados a um pid. Matar um monstro envia um SIGKILL para o processo associado. Talvez não seja a maneira mais eficiente de matar um processo, mas pode ser o mais divertido.

    
por 31.07.2009 / 00:07
0

Eu também gostaria de adicionar xkill. Quando chamar isso de um terminal (ou de um prompt de comando executado), o cursor será alterado para um ícone de caveira ou ossos cruzados ou um ícone "X". E então, da próxima vez que você clicar em uma janela (qualquer janela), esse aplicativo será morto.

Eu achei este comando um pouco mais intuitivo e amigável.

    
por 01.08.2009 / 00:28