Como matar todo o processo de um usuário?
Quando eu faço ps aux
eu obtenho uma lista de processos com vários usuários, e eu quero matar todo o processo do usuário, name1
por exemplo! O que é um comando para fazer isso no Ubuntu?
ubuntu
command-line
process
user15992
fonte
fonte
sudo service the-service-name stop
. Matar processos podem deixou arquivos corrompidos, bancos de dados, etc.Respostas:
Nesse caso, é bastante simples, você pode usar
killall
para matar ou enviar qualquer outro sinal para vários processos ao mesmo tempo. Uma das opções de "filtragem" é o proprietário:killall --user name1
fonte
--user
discussão, obrigado!killall
por exemplo, o Solaris Unix mata todos os processos em execução que pode! Veja: en.wikipedia.org/wiki/KillallAdicionando outra opção porque ninguém a mencionou, e eu não gosto
killall
(usá-la no solaris pode causar desastre).pkill
é mais portátilfonte
killall
no Ubuntu, maspkill
já está instalado.Identifique o usuário e, em seguida,
killall -user <username>
Eles terão um processo bash (ou similar) associado à matança da sessão de login que matará a sessão.
Para obter uma visão geral potencialmente melhor do que um usuário está fazendo - tente
pstree <username>
fonte
--user
Instalar
slay
:aptitude install slay
Então emita
slay some-user
.Esteja ciente de que, se você eliminar itens para usuários para os quais não conhece a finalidade, poderá tornar sua máquina inutilizável (até reiniciar).
Se você realmente não deseja instalar o slay:
(espere um pouco)
fonte
awk
pode cumprimentar algo em si. Não há necessidade de fazergrep smth | awk
, porque você pode usar apenas em seuawk '/smth/{...}'
lugar.killuser () { ps faux| awk -v user=$1 '$1==user{ system("kill -9 " $2) }' ;};