Questão Processos atualmente executados por usuários


Estou à procura de um  comando ou um  script para obter os processos atualmente executados pelos usuários no sistema. Eu tentei o ps -Af comando, no entanto, todos os processos, incluindo os processos de raiz pop-up. Existe algum comando para obter os processos executados apenas pelo usuário? Caso contrário, eu preciso de ajuda para escrever um  script para tirar os processos de raiz do ps -Af comando.


2


origem


canaliza os resultados através do grep. - Preet Sangha
@Preet: Para que isso seja útil, você precisa mostrar uma maneira de verificar apenas o nome de usuário e não corresponder a nomes de arquivos e argumentos de linha de comando. - Ben Voigt
Pergunta pertence em Superusuário ou Unix e Linux - Stephen P


Respostas:


Se você quiser remover rootapenas faça o seu ps -Af e canaliza-lo embora grep:

ps -Af | grep -v root

Claro, isso é desleixado. Se você estiver executando um programa chamado troot, você perderá isso também. Você pode ser mais preciso usando awk e removendo qualquer linha que tenha raiz na coluna da direita. Eu não tenho a saída de ps -Af na minha frente, mas por causa do argumento, vamos supor que o userid esteja na terceira coluna. Nesse caso, você gostaria de fazer isso:

ps -Af | awk '$3 != "root" { print $0 }'

0



No meu sistema o usuário está na primeira coluna, então um simples ps -Af | grep -v '^root' faria. - pfnuesel


Isso lhe dará todos os processos que não são de propriedade do root:

ps -N -u root 

2





ps --deselect -U root. o --deselect inverte a lógica de -U root.


1





e quanto a ps -U <username> (funciona no MacOSX) ou pipe através do grep

ps -Af | grep -v 'root' deve mostrar todos os processos que não são de propriedade do root. Mas cuidado, o grep não estará limitado ao nome de usuário. Um processo que expõe algum caminho contendo "root" também será removido do resultado.


0





Você deve tentar whowatch

Ele oferece uma boa visão geral dos usuários que efetuaram login, que processaram no momento e assim por diante


0





ps -Af | grep -v root não é perfeito. experimentar ps -Af | awk '$1 != "root" {print $0}'


-1