Eu tinha Redhat Linux 6.x, que foi recentemente atualizado para a caixa Redhat 7. Anteriormente, eu costumava usar o comando abaixo para matar as sessões do Linux. Mas agora estou recebendo o erro abaixo se tentar matar várias sessões.
$ skill -kill pts/1 pts/0 pts/3
Memory fault
De acordo com as páginas do manual, também tentei, mas também não funcionou.
skill -KILL -t /dev/pts/*
Kill users on PTY devices.
Eu preciso matar sessões no Redhat 7.
Uma resposta possível se os usuários estiverem conectados por meio do ssh:
Para outros casos:
end then kill pid(s), ou por exemplo para matar todas as sessões do usuário, exceto a do root:
Observando que a página man da skill diz:
Acredito que a sintaxe que você está procurando é:
... pois parece que a
expression
sintaxe requer um tty por-t
sinalizador.Quanto ao motivo pelo qual o skill não está realmente matando os processos, minha suspeita é que o formato de /proc/PID/stat mudou desde que o skill foi compilado, fazendo com que ele pulasse o processo na função check_proc (em uma cópia arbitrária do github de skill. c encontrei). Parece analisar /proc/PID/stat manualmente e nunca envia um sinal de interrupção para o(s) processo(s):
...
Quando eu compilo uma nova cópia da habilidade, ela funciona conforme o esperado:
Eu seguiria a sugestão da página de manual e do tonioc e mudaria para
pkill
; por exemplo, para matar processos em pts/1 e/ou pts/2: