Intepretation dos sinalizadores -x e -a no comando ps

0

De acordo com a man página do comando ps , a x flag

Lift the BSD-style "must have a tty" restriction, which is imposed upon the set of all processes when some BSD-style (without "-") options are used or when the ps personality setting is BSD-like. The set of processes selected in this manner is in addition to the set of processes selected by other means. An alternate description is that this option causes ps to list all processes owned by you (same EUID as ps), or to list all processes when used together with the a option.

e para -a flag:

-a Select all processes except both session leaders (see getsid(2)) and processes not associated with a terminal.

No meu Ubunbtu 16.04 laptop:

$ ps -a | wc -l
132
/etc/systemd/system
$ ps -x | wc -l
113

Isso significa que eu tenho 132 processos associados a um terminal (e não líderes de sessão ao mesmo tempo)? Como isso pode ser desde que eu tenho apenas um terminator instância aberta (e isso com apenas uma janela de terminal executando apenas alguns comandos)?

Alguém pode elaborar um pouco sobre a diferença entre -x e -a flags?

Todos nós sabemos que para obter all os processos em execução, precisamos combinar esses dois, mas qual é a diferença exata deles?

    
por pkaramol 12.11.2018 / 19:53

1 resposta

0

Parece haver alguma confusão entre as opções no estilo Unix e no estilo BSD. As opções que envolvem a e x são -a (estilo Unix), a (estilo BSD) e x (estilo BSD); não há -x . Desde que você usou a tag , vou me concentrar na implementação de ps comumente encontrado em distribuições Linux.

Por padrão, ps lista apenas os processos do usuário de chamada que estão anexados ao terminal atual.

a eleva a restrição de "invocação de usuário": ps a lista todos os processos de usuários anexados a um terminal. x eleva a restrição "anexado a um terminal": ps x lista todos os processos do usuário solicitante. ps ax lista todos os processos.

ps -a lista todos os processos dos usuários anexados a um terminal e não são líderes de sessão.

ps -ax é equivalente a ps ax : a presença do -x flag, que é estilo BSD, faz com que ps interprete todos os sinalizadores no estilo BSD. Da mesma forma, ps -x é equivalente a ps x .

    
por 12.11.2018 / 20:59