Como filtrar processos padrão do sistema com ps?

4

Existe uma maneira de obter uma lista de processos em execução em um sistema Linux, menos os padrões em execução em todos os sistemas (ou seja, apenas aqueles que foram instalados / executados após o fato). Isso pode ser feito com ps ou alguma ferramenta semelhante?

Obrigado

    
por ddario 04.04.2013 / 13:36

2 respostas

1

Por padrão, processos do sistema significa provavelmente "daemons" como httpd, nfsd, etc. A coluna TTY na saída do ps é ? para daemons. Então, para excluir esses, você provavelmente precisaria escrever um script para isso em shell / perl, dependendo do que você sabe

Aqui estou assumindo tty como coluna 2, então, dependendo da sua saída, você pode querer mudar isso.

Perl:

#!/usr/bin/perl
use strict;
use warnings;

open (PS,'ps aux |') or die "command can't execute $!";  # Runs command using pipe

while(<PS>){                             # Run through pipe line by line
    my $ttycol=(split) [2];              # get tty column from ps output 

    if($ttycol ne '?'){                  # If col is ? then it's a daemon
        print $_;            # if not print
    }
}
close(PS);

depois é só executá-lo como "perl script.pl".

Shell:

Com a entrada de lain , o mesmo pode ser alcançado no shell script como

ps -ef | awk '$6 != "?" {print}'

    
por 04.04.2013 / 14:51
0

Eu também vou assumir, como a resposta anterior, que você está se referindo a daemons como "default", e assim eles estarão rodando em tty? Nesse caso, o seguinte deve funcionar, embora infelizmente não esteja em condições de testá-lo aqui no trabalho.

ps aux | grep "[:space;]+?[:space:]+"

ps aux dá a você todo o processo no sistema no formato BSD padrão, canalizado para grep -v , que irá corresponder a todas as linhas NÃO incluindo a string regex ( [:space;]+?[:space:]+ ). Regex procura por qualquer número de espaços seguido por um único '?' seguido por qualquer número de espaços. (em teoria, não deve haver nada que corresponda a essa descrição diferente de entradas em uma coluna como tty.)

Rápido, sujo e de um parente recém-chegado, mas você tem isso.

    
por 04.04.2013 / 15:34

Tags