Como faço para matar processos no Ubuntu?

Como faço para matar todos os processos em execução por minha própria conta não raiz?

Eu tenho alguns processos smbd giratórios que eu causei da minha máquina windows e então eu telnetted no servidor linux e eu quero matar esses processos giratórios. Não tenho autoridade para reiniciar serviços ou reiniciar a máquina.

Para matar todos os processos que você tem permissão para matar, basta executar o comando

kill -15 -1 ou kill -9 -1 dependendo do comportamento desejado (use man kill para mais detalhes)

Para matar um processo específico, digamos, firefox, basta executar

pkill firefox ou killall firefox dependendo do comportamento que você deseja: Qual é a diferença entre & # 39; killall& # 39; e & # 39; pkill & # 39;?

Se você quiser ver quais processos estão sendo executados, use o comando

ps -ef

Se você quiser procurar todos os processos pelo Usuário bob, isso pode ajudar

pgrep -l -u bob

ou

ps -ef | grep bob

Usar sudo kill <pid> ou sudo killall <process-name>

Você pode usar

ps -ax | grep application name 

Se você estiver procurando por firefox digite terminal como ps -ax | grep firefox, ele mostra o ID do processo do aplicativo correspondente. Você pode parar esse aplicativo por kill comando se ID do processo = 1317,

kill -9 1317

Vamos tentar algo mais:

sudo apt-get install htop 

O top o comando é a maneira tradicional de visualizar o uso de recursos do seu sistema e ver os processos que estão ocupando mais recursos do sistema. Top exibe uma lista de processos, com os que usam mais CPU na parte superior.

htop exibe as mesmas informações com um layout mais fácil de entender. Ele também permite selecionar processos com as teclas de seta e executar ações, como matá-los ou alterar sua prioridade, com o F chave.

Eu usaria xkill. Introduzir xkill em um terminal e clique na janela ou digite xkill e o ID do processo e ele será encerrado.

Saiba mais sobre xkill no x.org.

Para tentar matar todos os processos de propriedade de um usuário username, executar:

pkill -U username

Eu quebraria seu problema em 2 partes:

1) Como encontro os processos iniciados por mim? Executar este:

ps -u `whoami`

O whoami é apenas no caso de você não saber o nome da conta que você está usando, caso contrário, basta digitar o nome da conta sem as cotações anteriores.

Isso listará todos os processos que podem ser excluídos por sua conta.

2) O ps o comando listará o número do processo, o TTY, o tempo e o CMD. O ID do processo é a primeira coluna. Use esse número para matar o processo. Tenha cuidado ao matar o processo. Você pode quebrar algo se matar o errado process.To matar um processo que você vai usar o kill comando, que envia um sinal para o processo. O sinal indica o que o processo dever fazer. Por exemplo, enviar um -1 para o processo irá pedir-lhe para recarregar o arquivo de configuração; enviando um -2 é equivalente a pressionar o Controle + C nesse processo; -9 fará com que o kernel abandone o processo, sem comunicá-lo ao processo.

Supondo que ps-u whoami retornou algo como

  PID TTY          TIME CMD 4333 pts/1    00:00:00 fish 4335 ?        00:00:00 fishd 4816 ?        00:00:00 intellij 4868 ?        00:50:42 java 4939 ?        00:00:19 fsnotifier64 7667 ?        02:49:08 firefox 7698 ?        00:00:00 unity-webapps-s

E você queria matar o firefox processe por seu ID de processo, então você faria:

kill -1 7667

Então você iria re-executar o mesmo ps comando e verifique se o processo ainda estava em execução. Se ainda estiver em execução, faça um

kill -2 7667

trabalhando seu caminho até -9.

Para eliminar todos os processos iniciados por sua conta, digite kill <level> -1. O mesmo que antes: trabalhe seu caminho até -9.

Se você sabe o nome do processo, você pode simplesmente ir killall <processname>, onde é o que você está tentando matar. Por exemplo: killall fish (peixe, neste sentido, é a concha interativa amigável).

Documentação para killall pode ser encontrado aqui: http://manpages.ubuntu.com/manpages/hardy/man1/killall.1.html

Com esta aplicação, você pode ver listagens de programas

instalar htop

sudo apt-get install htop

para ver processo e matar processo você pode instalá - lo e simplesmente excluir

enter image description here

Eu escrevi um pequeno script que escrevi para matar (no meu caso) Skype:

kill -s 9 `ps aux | grep skype | head -n 1 | cut -f4 -d" "`

Mas descobri que, por Mais que isso funcionasse, não funcionava no dia seguinte porque o pid tinha um comprimento diferente e lá para a quantidade de espaços era diferente

Então me deparei com este site e tentei

pgrep -l -u justin

que convenientemente produz processos no formato

[pid] [name]

Então eu ajustei meu código no script para isso:

kill -s 9 `pgrep -l -u justin | grep skype | cut -f1 -d" "`

O que isso faz é canalizar todos os processos justin está em execução (que pode ser alterado para qualquer nome de usuário) para grep que procura skype (isso pode ser alterado para o seu processo) e, em seguida, tubos que se alinham para cut que então lê apenas o PID e finalmente usa esse PID no kill comando para matá-lo.

...Todos os processos no Linux respondem a sinais. Os sinais são uma maneira no nível do sistema operacional de dizer aos programas para encerrar ou modificar seu comportamento.

Como enviar sinais de processos por PID

A maneira mais comum de passar sinais para um programa é com o comando kill.

Como você pode esperar, a funcionalidade padrão deste utilitário é tentar matar um processo:

kill PID_of_target_process

Isso envia o termo sinal para o processo. O termo sinal diz ao processo para encerrar. Isso permite que o programa execute operações de limpeza e saia sem problemas.

Se o programa estiver se comportando mal e não sair quando receber o termo sinal, podemos escalar o sinal passando o sinal de morte:

kill -KILL PID_of_target_process

Este é um sinal especial que não é enviado para o programa.

Em vez disso, é dado ao kernel do sistema operacional, que desliga o processo. Isso é usado para ignorar programas que ignoram os sinais enviados a eles...