Olá! Sou iniciante no mundo maravilhoso do Shell Script e estava a treinar minhas habilidades quando me deparei com a seguinte situação:
Precisava filtrar e listar os usuarios duplicados no sistema, ou seja, os que estavam com 2 logins ao mesmo tempo e matar esses usuarios. Menos o root. Eu fiz o seguinte: who | cut -f1 -d" " | sed -n '/root/!p' | uniq -d | xargs killall -u Deu parcialmente certo, ele filtra apenas os usuario duplicados e exclui o root da jogada, mata todos os processos pelo login name mas não finaliza a sessão no terminal. Então como não sei qual outro comando pode finalizar a sessao do usuario pelo nome, tive que depois de todo esse filtro, pegar o pid dos processos do usuario tal e finalizar da seguinte forma: kill -9 `who | grep -v root | cut -f1 -d" " | uniq -d | xargs ps --user | sed -n '/[0-9]/p' | cut -f2 -d" "` Minda dúvida é se o que eu fiz tem como ser melhorado e se tem, gostaria de saber e espero posts de vocês com melhores ideias para esse meu problema. Gostaria também da opnião pra saber se foi uma boa saida o que eu fiz, pelo menos pra um mero aprendiz como eu. Carlos Vinicius