linux pgrep, excluindo usuário específico

1

Estou usando o comando pgrep em um script de shell para monitorar algum aplicativo java. Mas há um serviço contínuo do java que está dando problema no meu código. Esse processo pertence a outro usuário. Então, existe alguma maneira de excluir o processo de um usuário específico durante o uso do grep?

A seguir, a linha de script que estou usando no momento:

pgrep java

Preciso excluir os processos de um usuário específico. Por favor, ajude-me a modificar este script e obter a saída. Observe que estou usando o Solaris.

    
por guru 25.09.2014 / 11:52

1 resposta

2

Use pgrep com a opção -u ou -U :

-u euid,...
    Only match processes whose effective user ID is listed. Either the 
    numerical or symbolical value may be used.
-U uid,...
    Only match processes whose real user ID is listed. Either the numerical 
    or symbolical value may be used.

Então, tente:

pgrep -u youruser java

listará todos os processos chamados java e pertencentes ao seu usuário.

Se você quiser excluir um usuário, poderá:

grep -vxf <(pgrep -u exclude_user java) <(pgrep java)
    
por 25.09.2014 / 11:58