Mate um processo executado por um usuário específico

6

Digamos que eu tenha vários usuários executando processos '' ruby '' simultaneamente. Como faço para escrever um comando shell para matar o processo '' ruby '' de um usuário em particular? (Eu estou no CentOS 5.5.)

    
por Trevor Burnham 16.08.2010 / 18:37

3 respostas

10

pkill é bom para isso:

pkill -u particularUser ruby

Você pode usar o pgrep com isso como um teste antes de executá-lo para ver o nome do processo e o pid do que será sinalizado:

pgrep -u particularUser -l ruby
    
por 16.08.2010 / 18:42
1

Você pode usar a opção -u para killall para limitar o escopo a um único usuário. Assim, para o usuário abc, você poderia fazer: killall -u abc /usr/bin/ruby (ou o que for que corresponda aos processos do ruby)

de man killall :

-u, --user
Kill only processes the specified user owns. Command names are optional.

    
por 16.08.2010 / 18:42
1

Como pior caso, se você pode fazer login ou su - como usuário, pode emitir o famoso comando kill -9 -1 como usuário para limpar seus processos.

NÃO execute como root:)

    
por 16.01.2011 / 16:55